From d535e48c2c27676044e08a3aae23b3dc874dcd56 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 10 Feb 2025 15:44:03 +0000 Subject: [PATCH] CodeGen from PR 32532 in Azure/azure-rest-api-specs Merge 69cf647cc6bf362cd1076cc72b932f42ba439730 into a3d9c16f14fbfa814d6315a4972517cec77c6bfb --- eng/versioning/version_client.txt | 1 + pom.xml | 1 + sdk/vi/azure-resourcemanager-vi/CHANGELOG.md | 8 + sdk/vi/azure-resourcemanager-vi/README.md | 102 ++ sdk/vi/azure-resourcemanager-vi/SAMPLE.md | 581 +++++++++ sdk/vi/azure-resourcemanager-vi/pom.xml | 63 + .../azure/resourcemanager/vi/ViManager.java | 307 +++++ .../vi/fluent/AccountsClient.java | 210 ++++ .../vi/fluent/GeneratesClient.java | 76 ++ .../vi/fluent/OperationsClient.java | 38 + .../vi/fluent/ViManagementClient.java | 69 + .../vi/fluent/models/AccessTokenInner.java | 81 ++ .../vi/fluent/models/AccountInner.java | 333 +++++ .../AccountPropertiesForPatchRequest.java | 182 +++ .../AccountPropertiesForPutRequest.java | 248 ++++ .../CheckNameAvailabilityResultInner.java | 120 ++ .../vi/fluent/models/OperationInner.java | 149 +++ .../vi/fluent/models/package-info.java | 9 + .../vi/fluent/package-info.java | 9 + .../vi/implementation/AccessTokenImpl.java | 31 + .../vi/implementation/AccountImpl.java | 247 ++++ .../vi/implementation/AccountsClientImpl.java | 1113 +++++++++++++++++ .../vi/implementation/AccountsImpl.java | 172 +++ .../CheckNameAvailabilityResultImpl.java | 41 + .../implementation/GeneratesClientImpl.java | 346 +++++ .../vi/implementation/GeneratesImpl.java | 79 ++ .../vi/implementation/OperationImpl.java | 48 + .../implementation/OperationsClientImpl.java | 231 ++++ .../vi/implementation/OperationsImpl.java | 44 + .../implementation/ResourceManagerUtils.java | 195 +++ .../ViManagementClientBuilder.java | 138 ++ .../ViManagementClientImpl.java | 320 +++++ .../vi/implementation/package-info.java | 9 + .../vi/models/AccessToken.java | 26 + .../resourcemanager/vi/models/Account.java | 395 ++++++ ...ccountCheckNameAvailabilityParameters.java | 137 ++ .../vi/models/AccountList.java | 115 ++ .../vi/models/AccountPatch.java | 204 +++ .../resourcemanager/vi/models/Accounts.java | 188 +++ .../models/CheckNameAvailabilityResult.java | 42 + .../models/GenerateAccessTokenParameters.java | 194 +++ ...RestrictedViewerAccessTokenParameters.java | 161 +++ .../resourcemanager/vi/models/Generates.java | 67 + .../vi/models/ManagedServiceIdentity.java | 190 +++ .../vi/models/ManagedServiceIdentityType.java | 62 + .../models/OpenAiServicesForPatchRequest.java | 122 ++ .../models/OpenAiServicesForPutRequest.java | 121 ++ .../resourcemanager/vi/models/Operation.java | 54 + .../vi/models/OperationDisplay.java | 129 ++ .../vi/models/OperationListResult.java | 103 ++ .../resourcemanager/vi/models/Operations.java | 33 + .../vi/models/PermissionType.java | 51 + .../vi/models/ProvisioningState.java | 71 ++ .../resourcemanager/vi/models/Reason.java | 47 + .../resourcemanager/vi/models/Scope.java | 56 + .../StorageServicesForPatchRequest.java | 94 ++ .../models/StorageServicesForPutRequest.java | 121 ++ .../azure/resourcemanager/vi/models/Tags.java | 95 ++ .../azure/resourcemanager/vi/models/Type.java | 46 + .../vi/models/UserAssignedIdentity.java | 100 ++ .../vi/models/package-info.java | 9 + .../resourcemanager/vi/package-info.java | 9 + .../src/main/java/module-info.java | 15 + .../proxy-config.json | 1 + .../reflect-config.json | 1 + .../AccountsCheckNameAvailabilitySamples.java | 43 + .../AccountsCreateOrUpdateSamples.java | 136 ++ .../vi/generated/AccountsDeleteSamples.java | 25 + .../AccountsGetByResourceGroupSamples.java | 24 + .../AccountsListByResourceGroupSamples.java | 24 + .../vi/generated/AccountsListSamples.java | 23 + .../vi/generated/AccountsUpdateSamples.java | 85 ++ .../generated/GenerateAccessTokenSamples.java | 125 ++ ...ateRestrictedViewerAccessTokenSamples.java | 62 + .../vi/generated/OperationsListSamples.java | 23 + sdk/vi/ci.yml | 46 + sdk/vi/pom.xml | 15 + 77 files changed, 9291 insertions(+) create mode 100644 sdk/vi/azure-resourcemanager-vi/CHANGELOG.md create mode 100644 sdk/vi/azure-resourcemanager-vi/README.md create mode 100644 sdk/vi/azure-resourcemanager-vi/SAMPLE.md create mode 100644 sdk/vi/azure-resourcemanager-vi/pom.xml create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/ViManager.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/AccountsClient.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/GeneratesClient.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/OperationsClient.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/ViManagementClient.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccessTokenInner.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountInner.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPatchRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPutRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/CheckNameAvailabilityResultInner.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/OperationInner.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/package-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/package-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccessTokenImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsClientImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/CheckNameAvailabilityResultImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesClientImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsClientImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ResourceManagerUtils.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientBuilder.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientImpl.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/package-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccessToken.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Account.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountCheckNameAvailabilityParameters.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountList.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountPatch.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Accounts.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/CheckNameAvailabilityResult.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateAccessTokenParameters.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateRestrictedViewerAccessTokenParameters.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Generates.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentity.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentityType.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPatchRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPutRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operation.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationDisplay.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationListResult.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operations.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/PermissionType.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ProvisioningState.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Reason.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Scope.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPatchRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPutRequest.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Tags.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Type.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/UserAssignedIdentity.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/package-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/package-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/java/module-info.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/proxy-config.json create mode 100644 sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/reflect-config.json create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCheckNameAvailabilitySamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCreateOrUpdateSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsDeleteSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsGetByResourceGroupSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListByResourceGroupSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsUpdateSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateAccessTokenSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateRestrictedViewerAccessTokenSamples.java create mode 100644 sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/OperationsListSamples.java create mode 100644 sdk/vi/ci.yml create mode 100644 sdk/vi/pom.xml diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 190bfe2ec790..3731f950e64d 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -473,6 +473,7 @@ com.azure.resourcemanager:azure-resourcemanager-terraform;1.0.0-beta.1;1.0.0-bet com.azure.resourcemanager:azure-resourcemanager-connectedcache;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-neonpostgres;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-pineconevectordb;1.0.0-beta.1;1.0.0-beta.2 +com.azure.resourcemanager:azure-resourcemanager-vi;1.0.0-beta.1;1.0.0-beta.1 com.azure.tools:azure-sdk-archetype;1.0.0;1.2.0-beta.1 com.azure.tools:azure-sdk-build-tool;1.0.0;1.1.0-beta.1 io.clientcore:clientcore-parent;1.0.0-beta.1;1.0.0-beta.2 diff --git a/pom.xml b/pom.xml index f5498ce9b286..7c47c3d62659 100644 --- a/pom.xml +++ b/pom.xml @@ -225,6 +225,7 @@ sdk/tools sdk/translation sdk/trustedsigning + sdk/vi sdk/vision sdk/vmwarecloudsimple sdk/voiceservices diff --git a/sdk/vi/azure-resourcemanager-vi/CHANGELOG.md b/sdk/vi/azure-resourcemanager-vi/CHANGELOG.md new file mode 100644 index 000000000000..9d29cedaaea1 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/CHANGELOG.md @@ -0,0 +1,8 @@ +# Release History + +## 1.0.0-beta.1 (2025-02-10) + +- Azure Resource Manager Vi client library for Java. This package contains Microsoft Azure SDK for Vi Management SDK. Microsoft Azure Video Indexer. Package tag package-2025-01-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). +### Features Added + +- Initial release for the azure-resourcemanager-vi Java SDK. diff --git a/sdk/vi/azure-resourcemanager-vi/README.md b/sdk/vi/azure-resourcemanager-vi/README.md new file mode 100644 index 000000000000..b6fa231b1298 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/README.md @@ -0,0 +1,102 @@ +# Azure Resource Manager Vi client library for Java + +Azure Resource Manager Vi client library for Java. + +This package contains Microsoft Azure SDK for Vi Management SDK. Microsoft Azure Video Indexer. Package tag package-2025-01-01. 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-vi;current}) +```xml + + com.azure.resourcemanager + azure-resourcemanager-vi + 1.0.0-beta.1 + +``` +[//]: # ({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] and [Azure Core Netty HTTP][azure_core_http_netty] packages provide the default implementation. + +### Authentication + +Microsoft Entra ID token authentication relies on the [credential class][azure_identity_credentials] from [Azure Identity][azure_identity] package. + +Azure subscription ID can be configured via `AZURE_SUBSCRIPTION_ID` environment variable. + +Assuming the use of the `DefaultAzureCredential` credential class, the client can be authenticated using the following code: + +```java +AzureProfile profile = new AzureProfile(AzureCloud.AZURE_PUBLIC_CLOUD); +TokenCredential credential = new DefaultAzureCredentialBuilder() + .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()) + .build(); +ViManager manager = ViManager + .authenticate(credential, profile); +``` + +The sample code assumes global Azure. Please change the `AzureCloud.AZURE_PUBLIC_CLOUD` 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/vi/azure-resourcemanager-vi/SAMPLE.md) + + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide][cg]. + +This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . + +When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repositories using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information see the [Code of Conduct FAQ][coc_faq] or contact with any additional questions or comments. + + +[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS +[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 +[azure_identity_credentials]: https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#credentials +[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 +[cg]: https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md +[coc]: https://opensource.microsoft.com/codeofconduct/ +[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/sdk/vi/azure-resourcemanager-vi/SAMPLE.md b/sdk/vi/azure-resourcemanager-vi/SAMPLE.md new file mode 100644 index 000000000000..41abf14299e7 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/SAMPLE.md @@ -0,0 +1,581 @@ +# Code snippets and samples + + +## Accounts + +- [CheckNameAvailability](#accounts_checknameavailability) +- [CreateOrUpdate](#accounts_createorupdate) +- [Delete](#accounts_delete) +- [GetByResourceGroup](#accounts_getbyresourcegroup) +- [List](#accounts_list) +- [ListByResourceGroup](#accounts_listbyresourcegroup) +- [Update](#accounts_update) + +## Generate + +- [AccessToken](#generate_accesstoken) +- [RestrictedViewerAccessToken](#generate_restrictedvieweraccesstoken) + +## Operations + +- [List](#operations_list) +### Accounts_CheckNameAvailability + +```java +import com.azure.resourcemanager.vi.models.AccountCheckNameAvailabilityParameters; +import com.azure.resourcemanager.vi.models.Type; + +/** + * Samples for Accounts CheckNameAvailability. + */ +public final class AccountsCheckNameAvailabilitySamples { + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViAccountCheckNameAvailabilityFree.json + */ + /** + * Sample code: Check free account name availability. + * + * @param manager Entry point to ViManager. + */ + public static void checkFreeAccountNameAvailability(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .checkNameAvailabilityWithResponse(new AccountCheckNameAvailabilityParameters().withName("vi1") + .withType(Type.MICROSOFT_VIDEO_INDEXER_ACCOUNTS), com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViAccountCheckNameAvailabilityTaken.json + */ + /** + * Sample code: Check taken account name availability. + * + * @param manager Entry point to ViManager. + */ + public static void checkTakenAccountNameAvailability(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .checkNameAvailabilityWithResponse(new AccountCheckNameAvailabilityParameters().withName("vi1") + .withType(Type.MICROSOFT_VIDEO_INDEXER_ACCOUNTS), com.azure.core.util.Context.NONE); + } +} +``` + +### Accounts_CreateOrUpdate + +```java +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentityType; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPutRequest; +import com.azure.resourcemanager.vi.models.StorageServicesForPutRequest; +import com.azure.resourcemanager.vi.models.UserAssignedIdentity; +import java.util.HashMap; +import java.util.Map; + +/** + * Samples for Accounts CreateOrUpdate. + */ +public final class AccountsCreateOrUpdateSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json + */ + /** + * Sample code: Connect classic account to arm account using system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void + connectClassicAccountToArmAccountUsingSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withAccountId("462af7c5-d1f6-4b91-86e3-8bc5e8a61574") + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * ConnectClassicAccountToArmAccountUsingUserAssignedMi.json + */ + /** + * Sample code: Connect classic account to arm account using user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void + connectClassicAccountToArmAccountUsingUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity()))) + .withAccountId("462af7c5-d1f6-4b91-86e3-8bc5e8a61574") + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * CreateOrUpdateAccountWithUserAssignedMi.json + */ + /** + * Sample code: Create or update account with user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void createOrUpdateAccountWithUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity(), + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2", + new UserAssignedIdentity()))) + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .withOpenAiServices(new OpenAiServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * CreateOrUpdateAccountWithSystemAssignedMi.json + */ + /** + * Sample code: Create or update account with system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void createOrUpdateAccountWithSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms")) + .withOpenAiServices(new OpenAiServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms")) + .create(); + } + + // Use "Map.of" if available + @SuppressWarnings("unchecked") + private static Map mapOf(Object... inputs) { + Map 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; + } +} +``` + +### Accounts_Delete + +```java +/** + * Samples for Accounts Delete. + */ +public final class AccountsDeleteSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountDelete.json + */ + /** + * Sample code: Delete account. + * + * @param manager Entry point to ViManager. + */ + public static void deleteAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .deleteByResourceGroupWithResponse("contoso-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE); + } +} +``` + +### Accounts_GetByResourceGroup + +```java +/** + * Samples for Accounts GetByResourceGroup. + */ +public final class AccountsGetByResourceGroupSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountGet.json + */ + /** + * Sample code: Get account. + * + * @param manager Entry point to ViManager. + */ + public static void getAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .getByResourceGroupWithResponse("contoso-rg", "contosto-videoanalyzer", com.azure.core.util.Context.NONE); + } +} +``` + +### Accounts_List + +```java +/** + * Samples for Accounts List. + */ +public final class AccountsListSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountsList.json + */ + /** + * Sample code: List accounts. + * + * @param manager Entry point to ViManager. + */ + public static void listAccounts(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts().list(com.azure.core.util.Context.NONE); + } +} +``` + +### Accounts_ListByResourceGroup + +```java +/** + * Samples for Accounts ListByResourceGroup. + */ +public final class AccountsListByResourceGroupSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountsListByResourceGroup + * .json + */ + /** + * Sample code: List accounts by resource group. + * + * @param manager Entry point to ViManager. + */ + public static void listAccountsByResourceGroup(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts().listByResourceGroup("contoso-videoanalyzer-rg", com.azure.core.util.Context.NONE); + } +} +``` + +### Accounts_Update + +```java +import com.azure.resourcemanager.vi.models.Account; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentityType; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.StorageServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.UserAssignedIdentity; +import java.util.HashMap; +import java.util.Map; + +/** + * Samples for Accounts Update. + */ +public final class AccountsUpdateSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPatch/ + * PatchAccountWithUserAssignedMi.json + */ + /** + * Sample code: Patch account with user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void patchAccountWithUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + Account resource = manager.accounts() + .getByResourceGroupWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE) + .getValue(); + resource.update() + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity(), + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2", + new UserAssignedIdentity()))) + .withStorageServices(new StorageServicesForPatchRequest().withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .withOpenAiServices(new OpenAiServicesForPatchRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2")) + .apply(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPatch/ + * PatchAccountWithSystemAssignedMi.json + */ + /** + * Sample code: Patch account with system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void patchAccountWithSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + Account resource = manager.accounts() + .getByResourceGroupWithResponse("contoso-videoanalyzer-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE) + .getValue(); + resource.update() + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withStorageServices(new StorageServicesForPatchRequest()) + .withOpenAiServices(new OpenAiServicesForPatchRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms")) + .apply(); + } + + // Use "Map.of" if available + @SuppressWarnings("unchecked") + private static Map mapOf(Object... inputs) { + Map 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; + } +} +``` + +### Generate_AccessToken + +```java +import com.azure.resourcemanager.vi.models.GenerateAccessTokenParameters; +import com.azure.resourcemanager.vi.models.PermissionType; +import com.azure.resourcemanager.vi.models.Scope; + +/** + * Samples for Generate AccessToken. + */ +public final class GenerateAccessTokenSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateProjectContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for project contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForProjectContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateProjectReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for project reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForProjectReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER) + .withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateAccountContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for account contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForAccountContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateAccountReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for account reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForAccountReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER).withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateVideoContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for video contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForVideoContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.VIDEO) + .withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateVideoReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for video reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForVideoReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER) + .withScope(Scope.VIDEO) + .withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } +} +``` + +### Generate_RestrictedViewerAccessToken + +```java +import com.azure.resourcemanager.vi.models.GenerateRestrictedViewerAccessTokenParameters; +import com.azure.resourcemanager.vi.models.Scope; + +/** + * Samples for Generate RestrictedViewerAccessToken. + */ +public final class GenerateRestrictedViewerAccessTokenSamples { + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for video. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForVideo(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.VIDEO).withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for account. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for project. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForProject(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } +} +``` + +### Operations_List + +```java +/** + * Samples for Operations List. + */ +public final class OperationsListSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViOperationsList.json + */ + /** + * Sample code: List operations. + * + * @param manager Entry point to ViManager. + */ + public static void listOperations(com.azure.resourcemanager.vi.ViManager manager) { + manager.operations().list(com.azure.core.util.Context.NONE); + } +} +``` + diff --git a/sdk/vi/azure-resourcemanager-vi/pom.xml b/sdk/vi/azure-resourcemanager-vi/pom.xml new file mode 100644 index 000000000000..0eac1de9924d --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure.resourcemanager + azure-resourcemanager-vi + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for Vi Management + This package contains Microsoft Azure SDK for Vi Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Microsoft Azure Video Indexer. Package tag package-2025-01-01. + 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 + 0 + 0 + true + false + + + + com.azure + azure-core + 1.55.0 + + + com.azure + azure-core-management + 1.16.0 + + + diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/ViManager.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/ViManager.java new file mode 100644 index 000000000000..35e61fe774ee --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/ViManager.java @@ -0,0 +1,307 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi; + +import com.azure.core.credential.TokenCredential; +import com.azure.core.http.HttpClient; +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.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.management.profile.AzureProfile; +import com.azure.core.util.Configuration; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.vi.fluent.ViManagementClient; +import com.azure.resourcemanager.vi.implementation.AccountsImpl; +import com.azure.resourcemanager.vi.implementation.GeneratesImpl; +import com.azure.resourcemanager.vi.implementation.OperationsImpl; +import com.azure.resourcemanager.vi.implementation.ViManagementClientBuilder; +import com.azure.resourcemanager.vi.models.Accounts; +import com.azure.resourcemanager.vi.models.Generates; +import com.azure.resourcemanager.vi.models.Operations; +import java.time.Duration; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Entry point to ViManager. + * Microsoft Azure Video Indexer. + */ +public final class ViManager { + private Operations operations; + + private Accounts accounts; + + private Generates generates; + + private final ViManagementClient clientObject; + + private ViManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + this.clientObject = new ViManagementClientBuilder().pipeline(httpPipeline) + .endpoint(profile.getEnvironment().getResourceManagerEndpoint()) + .subscriptionId(profile.getSubscriptionId()) + .defaultPollInterval(defaultPollInterval) + .buildClient(); + } + + /** + * Creates an instance of Vi service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Vi service API instance. + */ + public static ViManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return configure().authenticate(credential, profile); + } + + /** + * Creates an instance of Vi service API entry point. + * + * @param httpPipeline the {@link HttpPipeline} configured with Azure authentication credential. + * @param profile the Azure profile for client. + * @return the Vi service API instance. + */ + public static ViManager authenticate(HttpPipeline httpPipeline, AzureProfile profile) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return new ViManager(httpPipeline, profile, null); + } + + /** + * Gets a Configurable instance that can be used to create ViManager with optional configuration. + * + * @return the Configurable instance allowing configurations. + */ + public static Configurable configure() { + return new ViManager.Configurable(); + } + + /** + * The Configurable allowing configurations to be set. + */ + public static final class Configurable { + private static final ClientLogger LOGGER = new ClientLogger(Configurable.class); + + private HttpClient httpClient; + private HttpLogOptions httpLogOptions; + private final List policies = new ArrayList<>(); + private final List scopes = new ArrayList<>(); + private RetryPolicy retryPolicy; + private RetryOptions retryOptions; + private Duration defaultPollInterval; + + private Configurable() { + } + + /** + * Sets the http client. + * + * @param httpClient the HTTP client. + * @return the configurable object itself. + */ + public Configurable withHttpClient(HttpClient httpClient) { + this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null."); + return this; + } + + /** + * Sets the logging options to the HTTP pipeline. + * + * @param httpLogOptions the HTTP log options. + * @return the configurable object itself. + */ + public Configurable withLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null."); + return this; + } + + /** + * Adds the pipeline policy to the HTTP pipeline. + * + * @param policy the HTTP pipeline policy. + * @return the configurable object itself. + */ + public Configurable withPolicy(HttpPipelinePolicy policy) { + this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null.")); + return this; + } + + /** + * Adds the scope to permission sets. + * + * @param scope the scope. + * @return the configurable object itself. + */ + public Configurable withScope(String scope) { + this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null.")); + return this; + } + + /** + * Sets the retry policy to the HTTP pipeline. + * + * @param retryPolicy the HTTP pipeline retry policy. + * @return the configurable object itself. + */ + public Configurable withRetryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null."); + return this; + } + + /** + * Sets the retry options for the HTTP pipeline retry policy. + *

+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}. + * + * @param retryOptions the retry options for the HTTP pipeline retry policy. + * @return the configurable object itself. + */ + public Configurable withRetryOptions(RetryOptions retryOptions) { + this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null."); + return this; + } + + /** + * Sets the default poll interval, used when service does not provide "Retry-After" header. + * + * @param defaultPollInterval the default poll interval. + * @return the configurable object itself. + */ + public Configurable withDefaultPollInterval(Duration defaultPollInterval) { + this.defaultPollInterval + = Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null."); + if (this.defaultPollInterval.isNegative()) { + throw LOGGER + .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative")); + } + return this; + } + + /** + * Creates an instance of Vi service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Vi service API instance. + */ + public ViManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + + StringBuilder userAgentBuilder = new StringBuilder(); + userAgentBuilder.append("azsdk-java") + .append("-") + .append("com.azure.resourcemanager.vi") + .append("/") + .append("1.0.0-beta.1"); + if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) { + userAgentBuilder.append(" (") + .append(Configuration.getGlobalConfiguration().get("java.version")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.name")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.version")) + .append("; auto-generated)"); + } else { + userAgentBuilder.append(" (auto-generated)"); + } + + if (scopes.isEmpty()) { + scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default"); + } + if (retryPolicy == null) { + if (retryOptions != null) { + retryPolicy = new RetryPolicy(retryOptions); + } else { + retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS); + } + } + List policies = new ArrayList<>(); + policies.add(new UserAgentPolicy(userAgentBuilder.toString())); + policies.add(new AddHeadersFromContextPolicy()); + policies.add(new RequestIdPolicy()); + policies.addAll(this.policies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(retryPolicy); + policies.add(new AddDatePolicy()); + policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0]))); + policies.addAll(this.policies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient) + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .build(); + return new ViManager(httpPipeline, profile, defaultPollInterval); + } + } + + /** + * Gets the resource collection API of Operations. + * + * @return Resource collection API of Operations. + */ + public Operations operations() { + if (this.operations == null) { + this.operations = new OperationsImpl(clientObject.getOperations(), this); + } + return operations; + } + + /** + * Gets the resource collection API of Accounts. It manages Account. + * + * @return Resource collection API of Accounts. + */ + public Accounts accounts() { + if (this.accounts == null) { + this.accounts = new AccountsImpl(clientObject.getAccounts(), this); + } + return accounts; + } + + /** + * Gets the resource collection API of Generates. + * + * @return Resource collection API of Generates. + */ + public Generates generates() { + if (this.generates == null) { + this.generates = new GeneratesImpl(clientObject.getGenerates(), this); + } + return generates; + } + + /** + * Gets wrapped service client ViManagementClient providing direct access to the underlying auto-generated API + * implementation, based on Azure REST API. + * + * @return Wrapped service client ViManagementClient. + */ + public ViManagementClient serviceClient() { + return this.clientObject; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/AccountsClient.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/AccountsClient.java new file mode 100644 index 000000000000..dc78dffc3e9e --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/AccountsClient.java @@ -0,0 +1,210 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner; +import com.azure.resourcemanager.vi.models.AccountCheckNameAvailabilityParameters; +import com.azure.resourcemanager.vi.models.AccountPatch; + +/** + * An instance of this class provides access to all the operations defined in AccountsClient. + */ +public interface AccountsClient { + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response checkNameAvailabilityWithResponse( + AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, Context context); + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + CheckNameAvailabilityResultInner + checkNameAvailability(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters); + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName, Context context); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByResourceGroupWithResponse(String resourceGroupName, String accountName, + Context context); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccountInner getByResourceGroup(String resourceGroupName, String accountName); + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the current Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response updateWithResponse(String resourceGroupName, String accountName, AccountPatch parameters, + Context context); + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccountInner update(String resourceGroupName, String accountName); + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createOrUpdateWithResponse(String resourceGroupName, String accountName, + AccountInner parameters, Context context); + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccountInner createOrUpdate(String resourceGroupName, String accountName); + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteWithResponse(String resourceGroupName, String accountName, Context context); + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void delete(String resourceGroupName, String accountName); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/GeneratesClient.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/GeneratesClient.java new file mode 100644 index 000000000000..57f7f5cb209c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/GeneratesClient.java @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.vi.fluent.models.AccessTokenInner; +import com.azure.resourcemanager.vi.models.GenerateAccessTokenParameters; +import com.azure.resourcemanager.vi.models.GenerateRestrictedViewerAccessTokenParameters; + +/** + * An instance of this class provides access to all the operations defined in GeneratesClient. + */ +public interface GeneratesClient { + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response accessTokenWithResponse(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters, Context context); + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessTokenInner accessToken(String resourceGroupName, String accountName); + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating restricted viewer access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response restrictedViewerAccessTokenWithResponse(String resourceGroupName, String accountName, + GenerateRestrictedViewerAccessTokenParameters parameters, Context context); + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessTokenInner restrictedViewerAccessToken(String resourceGroupName, String accountName); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/OperationsClient.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/OperationsClient.java new file mode 100644 index 000000000000..52ef4f762b93 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/OperationsClient.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.vi.fluent.models.OperationInner; + +/** + * An instance of this class provides access to all the operations defined in OperationsClient. + */ +public interface OperationsClient { + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/ViManagementClient.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/ViManagementClient.java new file mode 100644 index 000000000000..cc506b35f29e --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/ViManagementClient.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent; + +import com.azure.core.http.HttpPipeline; +import java.time.Duration; + +/** + * The interface for ViManagementClient class. + */ +public interface ViManagementClient { + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + String getSubscriptionId(); + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + String getEndpoint(); + + /** + * Gets Api Version. + * + * @return the apiVersion value. + */ + String getApiVersion(); + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + HttpPipeline getHttpPipeline(); + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + Duration getDefaultPollInterval(); + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + OperationsClient getOperations(); + + /** + * Gets the AccountsClient object to access its operations. + * + * @return the AccountsClient object. + */ + AccountsClient getAccounts(); + + /** + * Gets the GeneratesClient object to access its operations. + * + * @return the GeneratesClient object. + */ + GeneratesClient getGenerates(); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccessTokenInner.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccessTokenInner.java new file mode 100644 index 000000000000..50a2820c3a5c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccessTokenInner.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +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; + +/** + * Azure Video Indexer access token. + */ +@Immutable +public final class AccessTokenInner implements JsonSerializable { + /* + * The access token. + */ + private String accessToken; + + /** + * Creates an instance of AccessTokenInner class. + */ + public AccessTokenInner() { + } + + /** + * Get the accessToken property: The access token. + * + * @return the accessToken value. + */ + public String accessToken() { + return this.accessToken; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccessTokenInner from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccessTokenInner 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 AccessTokenInner. + */ + public static AccessTokenInner fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccessTokenInner deserializedAccessTokenInner = new AccessTokenInner(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("accessToken".equals(fieldName)) { + deserializedAccessTokenInner.accessToken = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedAccessTokenInner; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountInner.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountInner.java new file mode 100644 index 000000000000..9224ca79db12 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountInner.java @@ -0,0 +1,333 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.Resource; +import com.azure.core.management.SystemData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPutRequest; +import com.azure.resourcemanager.vi.models.ProvisioningState; +import com.azure.resourcemanager.vi.models.StorageServicesForPutRequest; +import java.io.IOException; +import java.util.Map; + +/** + * An Azure Video Indexer account. + */ +@Fluent +public final class AccountInner extends Resource { + /* + * List of account properties + */ + private AccountPropertiesForPutRequest innerProperties; + + /* + * Managed service identity (system assigned and/or user assigned identities) + */ + private ManagedServiceIdentity identity; + + /* + * The system meta data relating to this resource. + */ + private SystemData systemData; + + /* + * The type of the resource. + */ + private String type; + + /* + * The name of the resource. + */ + private String name; + + /* + * Fully qualified resource Id for the resource. + */ + private String id; + + /** + * Creates an instance of AccountInner class. + */ + public AccountInner() { + } + + /** + * Get the innerProperties property: List of account properties. + * + * @return the innerProperties value. + */ + private AccountPropertiesForPutRequest innerProperties() { + return this.innerProperties; + } + + /** + * Get the identity property: Managed service identity (system assigned and/or user assigned identities). + * + * @return the identity value. + */ + public ManagedServiceIdentity identity() { + return this.identity; + } + + /** + * Set the identity property: Managed service identity (system assigned and/or user assigned identities). + * + * @param identity the identity value to set. + * @return the AccountInner object itself. + */ + public AccountInner withIdentity(ManagedServiceIdentity identity) { + this.identity = identity; + return this; + } + + /** + * Get the systemData property: The system meta data relating to this resource. + * + * @return the systemData value. + */ + public SystemData systemData() { + return this.systemData; + } + + /** + * Get the type property: The type of the resource. + * + * @return the type value. + */ + @Override + public String type() { + return this.type; + } + + /** + * Get the name property: The name of the resource. + * + * @return the name value. + */ + @Override + public String name() { + return this.name; + } + + /** + * Get the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + @Override + public String id() { + return this.id; + } + + /** + * {@inheritDoc} + */ + @Override + public AccountInner withLocation(String location) { + super.withLocation(location); + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public AccountInner withTags(Map tags) { + super.withTags(tags); + return this; + } + + /** + * Get the tenantId property: The account's tenant id. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.innerProperties() == null ? null : this.innerProperties().tenantId(); + } + + /** + * Get the accountId property: The account's data-plane ID. This can be set only when connecting an existing classic + * account. + * + * @return the accountId value. + */ + public String accountId() { + return this.innerProperties() == null ? null : this.innerProperties().accountId(); + } + + /** + * Set the accountId property: The account's data-plane ID. This can be set only when connecting an existing classic + * account. + * + * @param accountId the accountId value to set. + * @return the AccountInner object itself. + */ + public AccountInner withAccountId(String accountId) { + if (this.innerProperties() == null) { + this.innerProperties = new AccountPropertiesForPutRequest(); + } + this.innerProperties().withAccountId(accountId); + return this; + } + + /** + * Get the accountName property: The account's name. + * + * @return the accountName value. + */ + public String accountName() { + return this.innerProperties() == null ? null : this.innerProperties().accountName(); + } + + /** + * Get the storageServices property: The storage services details. + * + * @return the storageServices value. + */ + public StorageServicesForPutRequest storageServices() { + return this.innerProperties() == null ? null : this.innerProperties().storageServices(); + } + + /** + * Set the storageServices property: The storage services details. + * + * @param storageServices the storageServices value to set. + * @return the AccountInner object itself. + */ + public AccountInner withStorageServices(StorageServicesForPutRequest storageServices) { + if (this.innerProperties() == null) { + this.innerProperties = new AccountPropertiesForPutRequest(); + } + this.innerProperties().withStorageServices(storageServices); + return this; + } + + /** + * Get the openAiServices property: The openAi services details. + * + * @return the openAiServices value. + */ + public OpenAiServicesForPutRequest openAiServices() { + return this.innerProperties() == null ? null : this.innerProperties().openAiServices(); + } + + /** + * Set the openAiServices property: The openAi services details. + * + * @param openAiServices the openAiServices value to set. + * @return the AccountInner object itself. + */ + public AccountInner withOpenAiServices(OpenAiServicesForPutRequest openAiServices) { + if (this.innerProperties() == null) { + this.innerProperties = new AccountPropertiesForPutRequest(); + } + this.innerProperties().withOpenAiServices(openAiServices); + return this; + } + + /** + * Get the totalSecondsIndexed property: An integer representing the total seconds that have been indexed on the + * account. + * + * @return the totalSecondsIndexed value. + */ + public Integer totalSecondsIndexed() { + return this.innerProperties() == null ? null : this.innerProperties().totalSecondsIndexed(); + } + + /** + * Get the totalMinutesIndexed property: An integer representing the total minutes that have been indexed on the + * account. + * + * @return the totalMinutesIndexed value. + */ + public Long totalMinutesIndexed() { + return this.innerProperties() == null ? null : this.innerProperties().totalMinutesIndexed(); + } + + /** + * Get the provisioningState property: Gets the status of the account at the time the operation was called. + * + * @return the provisioningState value. + */ + public ProvisioningState provisioningState() { + return this.innerProperties() == null ? null : this.innerProperties().provisioningState(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + if (identity() != null) { + identity().validate(); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("location", location()); + jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("properties", this.innerProperties); + jsonWriter.writeJsonField("identity", this.identity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountInner from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountInner 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 AccountInner. + */ + public static AccountInner fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountInner deserializedAccountInner = new AccountInner(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + deserializedAccountInner.id = reader.getString(); + } else if ("name".equals(fieldName)) { + deserializedAccountInner.name = reader.getString(); + } else if ("type".equals(fieldName)) { + deserializedAccountInner.type = reader.getString(); + } else if ("location".equals(fieldName)) { + deserializedAccountInner.withLocation(reader.getString()); + } else if ("tags".equals(fieldName)) { + Map tags = reader.readMap(reader1 -> reader1.getString()); + deserializedAccountInner.withTags(tags); + } else if ("properties".equals(fieldName)) { + deserializedAccountInner.innerProperties = AccountPropertiesForPutRequest.fromJson(reader); + } else if ("identity".equals(fieldName)) { + deserializedAccountInner.identity = ManagedServiceIdentity.fromJson(reader); + } else if ("systemData".equals(fieldName)) { + deserializedAccountInner.systemData = SystemData.fromJson(reader); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountInner; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPatchRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPatchRequest.java new file mode 100644 index 000000000000..d0d578412812 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPatchRequest.java @@ -0,0 +1,182 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.ProvisioningState; +import com.azure.resourcemanager.vi.models.StorageServicesForPatchRequest; +import java.io.IOException; + +/** + * Azure Video Indexer account properties. + */ +@Fluent +public final class AccountPropertiesForPatchRequest implements JsonSerializable { + /* + * The account's tenant id + */ + private String tenantId; + + /* + * The account's data-plane ID + */ + private String accountId; + + /* + * The storage services details + */ + private StorageServicesForPatchRequest storageServices; + + /* + * The openAi services details + */ + private OpenAiServicesForPatchRequest openAiServices; + + /* + * Gets the status of the account at the time the operation was called. + */ + private ProvisioningState provisioningState; + + /** + * Creates an instance of AccountPropertiesForPatchRequest class. + */ + public AccountPropertiesForPatchRequest() { + } + + /** + * Get the tenantId property: The account's tenant id. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get the accountId property: The account's data-plane ID. + * + * @return the accountId value. + */ + public String accountId() { + return this.accountId; + } + + /** + * Get the storageServices property: The storage services details. + * + * @return the storageServices value. + */ + public StorageServicesForPatchRequest storageServices() { + return this.storageServices; + } + + /** + * Set the storageServices property: The storage services details. + * + * @param storageServices the storageServices value to set. + * @return the AccountPropertiesForPatchRequest object itself. + */ + public AccountPropertiesForPatchRequest withStorageServices(StorageServicesForPatchRequest storageServices) { + this.storageServices = storageServices; + return this; + } + + /** + * Get the openAiServices property: The openAi services details. + * + * @return the openAiServices value. + */ + public OpenAiServicesForPatchRequest openAiServices() { + return this.openAiServices; + } + + /** + * Set the openAiServices property: The openAi services details. + * + * @param openAiServices the openAiServices value to set. + * @return the AccountPropertiesForPatchRequest object itself. + */ + public AccountPropertiesForPatchRequest withOpenAiServices(OpenAiServicesForPatchRequest openAiServices) { + this.openAiServices = openAiServices; + return this; + } + + /** + * Get the provisioningState property: Gets the status of the account at the time the operation was called. + * + * @return the provisioningState value. + */ + public ProvisioningState provisioningState() { + return this.provisioningState; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (storageServices() != null) { + storageServices().validate(); + } + if (openAiServices() != null) { + openAiServices().validate(); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("storageServices", this.storageServices); + jsonWriter.writeJsonField("openAiServices", this.openAiServices); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountPropertiesForPatchRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountPropertiesForPatchRequest 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 AccountPropertiesForPatchRequest. + */ + public static AccountPropertiesForPatchRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountPropertiesForPatchRequest deserializedAccountPropertiesForPatchRequest + = new AccountPropertiesForPatchRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tenantId".equals(fieldName)) { + deserializedAccountPropertiesForPatchRequest.tenantId = reader.getString(); + } else if ("accountId".equals(fieldName)) { + deserializedAccountPropertiesForPatchRequest.accountId = reader.getString(); + } else if ("storageServices".equals(fieldName)) { + deserializedAccountPropertiesForPatchRequest.storageServices + = StorageServicesForPatchRequest.fromJson(reader); + } else if ("openAiServices".equals(fieldName)) { + deserializedAccountPropertiesForPatchRequest.openAiServices + = OpenAiServicesForPatchRequest.fromJson(reader); + } else if ("provisioningState".equals(fieldName)) { + deserializedAccountPropertiesForPatchRequest.provisioningState + = ProvisioningState.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountPropertiesForPatchRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPutRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPutRequest.java new file mode 100644 index 000000000000..72a38fdaffe4 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/AccountPropertiesForPutRequest.java @@ -0,0 +1,248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPutRequest; +import com.azure.resourcemanager.vi.models.ProvisioningState; +import com.azure.resourcemanager.vi.models.StorageServicesForPutRequest; +import java.io.IOException; + +/** + * Azure Video Indexer account properties. + */ +@Fluent +public final class AccountPropertiesForPutRequest implements JsonSerializable { + /* + * The account's tenant id + */ + private String tenantId; + + /* + * The account's data-plane ID. This can be set only when connecting an existing classic account + */ + private String accountId; + + /* + * The account's name + */ + private String accountName; + + /* + * The storage services details + */ + private StorageServicesForPutRequest storageServices; + + /* + * The openAi services details + */ + private OpenAiServicesForPutRequest openAiServices; + + /* + * An integer representing the total seconds that have been indexed on the account + */ + private Integer totalSecondsIndexed; + + /* + * An integer representing the total minutes that have been indexed on the account + */ + private Long totalMinutesIndexed; + + /* + * Gets the status of the account at the time the operation was called. + */ + private ProvisioningState provisioningState; + + /** + * Creates an instance of AccountPropertiesForPutRequest class. + */ + public AccountPropertiesForPutRequest() { + } + + /** + * Get the tenantId property: The account's tenant id. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.tenantId; + } + + /** + * Get the accountId property: The account's data-plane ID. This can be set only when connecting an existing classic + * account. + * + * @return the accountId value. + */ + public String accountId() { + return this.accountId; + } + + /** + * Set the accountId property: The account's data-plane ID. This can be set only when connecting an existing classic + * account. + * + * @param accountId the accountId value to set. + * @return the AccountPropertiesForPutRequest object itself. + */ + public AccountPropertiesForPutRequest withAccountId(String accountId) { + this.accountId = accountId; + return this; + } + + /** + * Get the accountName property: The account's name. + * + * @return the accountName value. + */ + public String accountName() { + return this.accountName; + } + + /** + * Get the storageServices property: The storage services details. + * + * @return the storageServices value. + */ + public StorageServicesForPutRequest storageServices() { + return this.storageServices; + } + + /** + * Set the storageServices property: The storage services details. + * + * @param storageServices the storageServices value to set. + * @return the AccountPropertiesForPutRequest object itself. + */ + public AccountPropertiesForPutRequest withStorageServices(StorageServicesForPutRequest storageServices) { + this.storageServices = storageServices; + return this; + } + + /** + * Get the openAiServices property: The openAi services details. + * + * @return the openAiServices value. + */ + public OpenAiServicesForPutRequest openAiServices() { + return this.openAiServices; + } + + /** + * Set the openAiServices property: The openAi services details. + * + * @param openAiServices the openAiServices value to set. + * @return the AccountPropertiesForPutRequest object itself. + */ + public AccountPropertiesForPutRequest withOpenAiServices(OpenAiServicesForPutRequest openAiServices) { + this.openAiServices = openAiServices; + return this; + } + + /** + * Get the totalSecondsIndexed property: An integer representing the total seconds that have been indexed on the + * account. + * + * @return the totalSecondsIndexed value. + */ + public Integer totalSecondsIndexed() { + return this.totalSecondsIndexed; + } + + /** + * Get the totalMinutesIndexed property: An integer representing the total minutes that have been indexed on the + * account. + * + * @return the totalMinutesIndexed value. + */ + public Long totalMinutesIndexed() { + return this.totalMinutesIndexed; + } + + /** + * Get the provisioningState property: Gets the status of the account at the time the operation was called. + * + * @return the provisioningState value. + */ + public ProvisioningState provisioningState() { + return this.provisioningState; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (storageServices() != null) { + storageServices().validate(); + } + if (openAiServices() != null) { + openAiServices().validate(); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("accountId", this.accountId); + jsonWriter.writeJsonField("storageServices", this.storageServices); + jsonWriter.writeJsonField("openAiServices", this.openAiServices); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountPropertiesForPutRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountPropertiesForPutRequest 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 AccountPropertiesForPutRequest. + */ + public static AccountPropertiesForPutRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountPropertiesForPutRequest deserializedAccountPropertiesForPutRequest + = new AccountPropertiesForPutRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tenantId".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.tenantId = reader.getString(); + } else if ("accountId".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.accountId = reader.getString(); + } else if ("accountName".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.accountName = reader.getString(); + } else if ("storageServices".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.storageServices + = StorageServicesForPutRequest.fromJson(reader); + } else if ("openAiServices".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.openAiServices + = OpenAiServicesForPutRequest.fromJson(reader); + } else if ("totalSecondsIndexed".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.totalSecondsIndexed + = reader.getNullable(JsonReader::getInt); + } else if ("totalMinutesIndexed".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.totalMinutesIndexed + = reader.getNullable(JsonReader::getLong); + } else if ("provisioningState".equals(fieldName)) { + deserializedAccountPropertiesForPutRequest.provisioningState + = ProvisioningState.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountPropertiesForPutRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/CheckNameAvailabilityResultInner.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/CheckNameAvailabilityResultInner.java new file mode 100644 index 000000000000..a197fe8e40ca --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/CheckNameAvailabilityResultInner.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +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 com.azure.resourcemanager.vi.models.Reason; +import java.io.IOException; + +/** + * The CheckNameAvailability operation response. + */ +@Immutable +public final class CheckNameAvailabilityResultInner implements JsonSerializable { + /* + * Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. + * If false, the name has already been taken. + */ + private Boolean nameAvailable; + + /* + * Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if + * NameAvailable is false. + */ + private Reason reason; + + /* + * Gets an error message explaining the Reason value in more detail. + */ + private String message; + + /** + * Creates an instance of CheckNameAvailabilityResultInner class. + */ + public CheckNameAvailabilityResultInner() { + } + + /** + * Get the nameAvailable property: Gets a boolean value that indicates whether the name is available for you to use. + * If true, the name is available. If false, the name has already been taken. + * + * @return the nameAvailable value. + */ + public Boolean nameAvailable() { + return this.nameAvailable; + } + + /** + * Get the reason property: Gets the reason that a Video Indexer account name could not be used. The Reason element + * is only returned if NameAvailable is false. + * + * @return the reason value. + */ + public Reason reason() { + return this.reason; + } + + /** + * Get the message property: Gets an error message explaining the Reason value in more detail. + * + * @return the message value. + */ + public String message() { + return this.message; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CheckNameAvailabilityResultInner from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CheckNameAvailabilityResultInner 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 CheckNameAvailabilityResultInner. + */ + public static CheckNameAvailabilityResultInner fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + CheckNameAvailabilityResultInner deserializedCheckNameAvailabilityResultInner + = new CheckNameAvailabilityResultInner(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("nameAvailable".equals(fieldName)) { + deserializedCheckNameAvailabilityResultInner.nameAvailable + = reader.getNullable(JsonReader::getBoolean); + } else if ("reason".equals(fieldName)) { + deserializedCheckNameAvailabilityResultInner.reason = Reason.fromString(reader.getString()); + } else if ("message".equals(fieldName)) { + deserializedCheckNameAvailabilityResultInner.message = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedCheckNameAvailabilityResultInner; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/OperationInner.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/OperationInner.java new file mode 100644 index 000000000000..e574f65f0106 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/OperationInner.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.fluent.models; + +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 com.azure.resourcemanager.vi.models.OperationDisplay; +import java.io.IOException; + +/** + * Operation detail payload. + */ +@Immutable +public final class OperationInner implements JsonSerializable { + /* + * Name of the operation + */ + private String name; + + /* + * Indicates whether the operation is a data action + */ + private Boolean isDataAction; + + /* + * Indicates the action type. + */ + private String actionType; + + /* + * Display of the operation + */ + private OperationDisplay display; + + /* + * Origin of the operation + */ + private String origin; + + /** + * Creates an instance of OperationInner class. + */ + public OperationInner() { + } + + /** + * Get the name property: Name of the operation. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the isDataAction property: Indicates whether the operation is a data action. + * + * @return the isDataAction value. + */ + public Boolean isDataAction() { + return this.isDataAction; + } + + /** + * Get the actionType property: Indicates the action type. + * + * @return the actionType value. + */ + public String actionType() { + return this.actionType; + } + + /** + * Get the display property: Display of the operation. + * + * @return the display value. + */ + public OperationDisplay display() { + return this.display; + } + + /** + * Get the origin property: Origin of the operation. + * + * @return the origin value. + */ + public String origin() { + return this.origin; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (display() != null) { + display().validate(); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OperationInner from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OperationInner 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 OperationInner. + */ + public static OperationInner fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OperationInner deserializedOperationInner = new OperationInner(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("name".equals(fieldName)) { + deserializedOperationInner.name = reader.getString(); + } else if ("isDataAction".equals(fieldName)) { + deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean); + } else if ("actionType".equals(fieldName)) { + deserializedOperationInner.actionType = reader.getString(); + } else if ("display".equals(fieldName)) { + deserializedOperationInner.display = OperationDisplay.fromJson(reader); + } else if ("origin".equals(fieldName)) { + deserializedOperationInner.origin = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedOperationInner; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/package-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/package-info.java new file mode 100644 index 000000000000..ff7f497a887d --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/models/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the inner data models for ViManagementClient. + * Microsoft Azure Video Indexer. + */ +package com.azure.resourcemanager.vi.fluent.models; diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/package-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/package-info.java new file mode 100644 index 000000000000..e08751f53f40 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/fluent/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the service clients for ViManagementClient. + * Microsoft Azure Video Indexer. + */ +package com.azure.resourcemanager.vi.fluent; diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccessTokenImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccessTokenImpl.java new file mode 100644 index 000000000000..b477a4813af3 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccessTokenImpl.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.resourcemanager.vi.fluent.models.AccessTokenInner; +import com.azure.resourcemanager.vi.models.AccessToken; + +public final class AccessTokenImpl implements AccessToken { + private AccessTokenInner innerObject; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + AccessTokenImpl(AccessTokenInner innerObject, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String accessToken() { + return this.innerModel().accessToken(); + } + + public AccessTokenInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountImpl.java new file mode 100644 index 000000000000..e33f47b3442a --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountImpl.java @@ -0,0 +1,247 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.management.Region; +import com.azure.core.management.SystemData; +import com.azure.core.util.Context; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import com.azure.resourcemanager.vi.models.Account; +import com.azure.resourcemanager.vi.models.AccountPatch; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPutRequest; +import com.azure.resourcemanager.vi.models.ProvisioningState; +import com.azure.resourcemanager.vi.models.StorageServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.StorageServicesForPutRequest; +import java.util.Collections; +import java.util.Map; + +public final class AccountImpl implements Account, Account.Definition, Account.Update { + private AccountInner innerObject; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String location() { + return this.innerModel().location(); + } + + public Map tags() { + Map inner = this.innerModel().tags(); + if (inner != null) { + return Collections.unmodifiableMap(inner); + } else { + return Collections.emptyMap(); + } + } + + public ManagedServiceIdentity identity() { + return this.innerModel().identity(); + } + + public SystemData systemData() { + return this.innerModel().systemData(); + } + + public String tenantId() { + return this.innerModel().tenantId(); + } + + public String accountId() { + return this.innerModel().accountId(); + } + + public String accountName() { + return this.innerModel().accountName(); + } + + public StorageServicesForPutRequest storageServices() { + return this.innerModel().storageServices(); + } + + public OpenAiServicesForPutRequest openAiServices() { + return this.innerModel().openAiServices(); + } + + public Integer totalSecondsIndexed() { + return this.innerModel().totalSecondsIndexed(); + } + + public Long totalMinutesIndexed() { + return this.innerModel().totalMinutesIndexed(); + } + + public ProvisioningState provisioningState() { + return this.innerModel().provisioningState(); + } + + public Region region() { + return Region.fromName(this.regionName()); + } + + public String regionName() { + return this.location(); + } + + public String resourceGroupName() { + return resourceGroupName; + } + + public AccountInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } + + private String resourceGroupName; + + private String accountName; + + private AccountPatch updateParameters; + + public AccountImpl withExistingResourceGroup(String resourceGroupName) { + this.resourceGroupName = resourceGroupName; + return this; + } + + public Account create() { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .createOrUpdateWithResponse(resourceGroupName, accountName, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public Account create(Context context) { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .createOrUpdateWithResponse(resourceGroupName, accountName, this.innerModel(), context) + .getValue(); + return this; + } + + AccountImpl(String name, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerObject = new AccountInner(); + this.serviceManager = serviceManager; + this.accountName = name; + } + + public AccountImpl update() { + this.updateParameters = new AccountPatch(); + return this; + } + + public Account apply() { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .updateWithResponse(resourceGroupName, accountName, updateParameters, Context.NONE) + .getValue(); + return this; + } + + public Account apply(Context context) { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .updateWithResponse(resourceGroupName, accountName, updateParameters, context) + .getValue(); + return this; + } + + AccountImpl(AccountInner innerObject, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups"); + this.accountName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "accounts"); + } + + public Account refresh() { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .getByResourceGroupWithResponse(resourceGroupName, accountName, Context.NONE) + .getValue(); + return this; + } + + public Account refresh(Context context) { + this.innerObject = serviceManager.serviceClient() + .getAccounts() + .getByResourceGroupWithResponse(resourceGroupName, accountName, context) + .getValue(); + return this; + } + + public AccountImpl withRegion(Region location) { + this.innerModel().withLocation(location.toString()); + return this; + } + + public AccountImpl withRegion(String location) { + this.innerModel().withLocation(location); + return this; + } + + public AccountImpl withTags(Map tags) { + if (isInCreateMode()) { + this.innerModel().withTags(tags); + return this; + } else { + this.updateParameters.withTags(tags); + return this; + } + } + + public AccountImpl withIdentity(ManagedServiceIdentity identity) { + if (isInCreateMode()) { + this.innerModel().withIdentity(identity); + return this; + } else { + this.updateParameters.withIdentity(identity); + return this; + } + } + + public AccountImpl withAccountId(String accountId) { + this.innerModel().withAccountId(accountId); + return this; + } + + public AccountImpl withStorageServices(StorageServicesForPutRequest storageServices) { + this.innerModel().withStorageServices(storageServices); + return this; + } + + public AccountImpl withOpenAiServices(OpenAiServicesForPutRequest openAiServices) { + this.innerModel().withOpenAiServices(openAiServices); + return this; + } + + public AccountImpl withStorageServices(StorageServicesForPatchRequest storageServices) { + this.updateParameters.withStorageServices(storageServices); + return this; + } + + public AccountImpl withOpenAiServices(OpenAiServicesForPatchRequest openAiServices) { + this.updateParameters.withOpenAiServices(openAiServices); + return this; + } + + private boolean isInCreateMode() { + return this.innerModel().id() == null; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsClientImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsClientImpl.java new file mode 100644 index 000000000000..bbce3da66731 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsClientImpl.java @@ -0,0 +1,1113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.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.Headers; +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.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.vi.fluent.AccountsClient; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner; +import com.azure.resourcemanager.vi.models.AccountCheckNameAvailabilityParameters; +import com.azure.resourcemanager.vi.models.AccountList; +import com.azure.resourcemanager.vi.models.AccountPatch; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in AccountsClient. + */ +public final class AccountsClientImpl implements AccountsClient { + /** + * The proxy service used to perform REST calls. + */ + private final AccountsService service; + + /** + * The service client containing this operation class. + */ + private final ViManagementClientImpl client; + + /** + * Initializes an instance of AccountsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccountsClientImpl(ViManagementClientImpl client) { + this.service = RestProxy.create(AccountsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for ViManagementClientAccounts to be used by the proxy service to perform + * REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "ViManagementClientAc") + public interface AccountsService { + @Headers({ "Content-Type: application/json" }) + @Post("/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> checkNameAvailability(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listByResourceGroup(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getByResourceGroup(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> update(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, @BodyParam("application/json") AccountPatch parameters, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}") + @ExpectedResponses({ 200, 201 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createOrUpdate(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, @BodyParam("application/json") AccountInner parameters, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}") + @ExpectedResponses({ 200, 202, 204 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> delete(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("{nextLink}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext(@PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("{nextLink}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listByResourceGroupNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, Context context); + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> + checkNameAvailabilityWithResponseAsync(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (checkNameAvailabilityParameters == null) { + return Mono.error(new IllegalArgumentException( + "Parameter checkNameAvailabilityParameters is required and cannot be null.")); + } else { + checkNameAvailabilityParameters.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.checkNameAvailability(this.client.getEndpoint(), this.client.getSubscriptionId(), + this.client.getApiVersion(), checkNameAvailabilityParameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> checkNameAvailabilityWithResponseAsync( + AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (checkNameAvailabilityParameters == null) { + return Mono.error(new IllegalArgumentException( + "Parameter checkNameAvailabilityParameters is required and cannot be null.")); + } else { + checkNameAvailabilityParameters.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.checkNameAvailability(this.client.getEndpoint(), this.client.getSubscriptionId(), + this.client.getApiVersion(), checkNameAvailabilityParameters, accept, context); + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono + checkNameAvailabilityAsync(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters) { + return checkNameAvailabilityWithResponseAsync(checkNameAvailabilityParameters) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response checkNameAvailabilityWithResponse( + AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, Context context) { + return checkNameAvailabilityWithResponseAsync(checkNameAvailabilityParameters, context).block(); + } + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public CheckNameAvailabilityResultInner + checkNameAvailability(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters) { + return checkNameAvailabilityWithResponse(checkNameAvailabilityParameters, Context.NONE).getValue(); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync() { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), this.client.getSubscriptionId(), + this.client.getApiVersion(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), this.client.getSubscriptionId(), this.client.getApiVersion(), accept, + context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(Context context) { + return new PagedFlux<>(() -> listSinglePageAsync(context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(Context context) { + return new PagedIterable<>(listAsync(context)); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), + this.client.getSubscriptionId(), resourceGroupName, this.client.getApiVersion(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listByResourceGroup(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + this.client.getApiVersion(), accept, context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName) { + return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName), + nextLink -> listByResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) { + return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName, context), + nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context)); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName)); + } + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName, Context context) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context)); + } + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName, + String accountName) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.getByResourceGroup(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByResourceGroupWithResponseAsync(String resourceGroupName, + String accountName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getByResourceGroup(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + accountName, this.client.getApiVersion(), accept, context); + } + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByResourceGroupAsync(String resourceGroupName, String accountName) { + return getByResourceGroupWithResponseAsync(resourceGroupName, accountName) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByResourceGroupWithResponse(String resourceGroupName, String accountName, + Context context) { + return getByResourceGroupWithResponseAsync(resourceGroupName, accountName, context).block(); + } + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccountInner getByResourceGroup(String resourceGroupName, String accountName) { + return getByResourceGroupWithResponse(resourceGroupName, accountName, Context.NONE).getValue(); + } + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the current Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> updateWithResponseAsync(String resourceGroupName, String accountName, + AccountPatch parameters) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.update(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the current Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> updateWithResponseAsync(String resourceGroupName, String accountName, + AccountPatch parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.update(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + accountName, this.client.getApiVersion(), parameters, accept, context); + } + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono updateAsync(String resourceGroupName, String accountName) { + final AccountPatch parameters = null; + return updateWithResponseAsync(resourceGroupName, accountName, parameters) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the current Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse(String resourceGroupName, String accountName, + AccountPatch parameters, Context context) { + return updateWithResponseAsync(resourceGroupName, accountName, parameters, context).block(); + } + + /** + * Updates the properties of an existing Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccountInner update(String resourceGroupName, String accountName) { + final AccountPatch parameters = null; + return updateWithResponse(resourceGroupName, accountName, parameters, Context.NONE).getValue(); + } + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateWithResponseAsync(String resourceGroupName, String accountName, + AccountInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateWithResponseAsync(String resourceGroupName, String accountName, + AccountInner parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.createOrUpdate(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + accountName, this.client.getApiVersion(), parameters, accept, context); + } + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createOrUpdateAsync(String resourceGroupName, String accountName) { + final AccountInner parameters = null; + return createOrUpdateWithResponseAsync(resourceGroupName, accountName, parameters) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters to provide for the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse(String resourceGroupName, String accountName, + AccountInner parameters, Context context) { + return createOrUpdateWithResponseAsync(resourceGroupName, accountName, parameters, context).block(); + } + + /** + * Creates or updates an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an Azure Video Indexer account. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccountInner createOrUpdate(String resourceGroupName, String accountName) { + final AccountInner parameters = null; + return createOrUpdateWithResponse(resourceGroupName, accountName, parameters, Context.NONE).getValue(); + } + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync(String resourceGroupName, String accountName) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.delete(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync(String resourceGroupName, String accountName, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.delete(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + accountName, this.client.getApiVersion(), accept, context); + } + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String resourceGroupName, String accountName) { + return deleteWithResponseAsync(resourceGroupName, accountName).flatMap(ignored -> Mono.empty()); + } + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String resourceGroupName, String accountName, Context context) { + return deleteWithResponseAsync(resourceGroupName, accountName, context).block(); + } + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String resourceGroupName, String accountName) { + deleteWithResponse(resourceGroupName, accountName, Context.NONE); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.listNext(nextLink, this.client.getEndpoint(), accept, context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties along with + * {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsImpl.java new file mode 100644 index 000000000000..bfae852a9b8d --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/AccountsImpl.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.vi.fluent.AccountsClient; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner; +import com.azure.resourcemanager.vi.models.Account; +import com.azure.resourcemanager.vi.models.AccountCheckNameAvailabilityParameters; +import com.azure.resourcemanager.vi.models.Accounts; +import com.azure.resourcemanager.vi.models.CheckNameAvailabilityResult; + +public final class AccountsImpl implements Accounts { + private static final ClientLogger LOGGER = new ClientLogger(AccountsImpl.class); + + private final AccountsClient innerClient; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + public AccountsImpl(AccountsClient innerClient, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response checkNameAvailabilityWithResponse( + AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, Context context) { + Response inner + = this.serviceClient().checkNameAvailabilityWithResponse(checkNameAvailabilityParameters, context); + if (inner != null) { + return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(), + new CheckNameAvailabilityResultImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public CheckNameAvailabilityResult + checkNameAvailability(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters) { + CheckNameAvailabilityResultInner inner + = this.serviceClient().checkNameAvailability(checkNameAvailabilityParameters); + if (inner != null) { + return new CheckNameAvailabilityResultImpl(inner, this.manager()); + } else { + return null; + } + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return ResourceManagerUtils.mapPage(inner, inner1 -> new AccountImpl(inner1, this.manager())); + } + + public PagedIterable list(Context context) { + PagedIterable inner = this.serviceClient().list(context); + return ResourceManagerUtils.mapPage(inner, inner1 -> new AccountImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName); + return ResourceManagerUtils.mapPage(inner, inner1 -> new AccountImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName, Context context) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context); + return ResourceManagerUtils.mapPage(inner, inner1 -> new AccountImpl(inner1, this.manager())); + } + + public Response getByResourceGroupWithResponse(String resourceGroupName, String accountName, + Context context) { + Response inner + = this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, accountName, context); + if (inner != null) { + return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(), + new AccountImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public Account getByResourceGroup(String resourceGroupName, String accountName) { + AccountInner inner = this.serviceClient().getByResourceGroup(resourceGroupName, accountName); + if (inner != null) { + return new AccountImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteByResourceGroupWithResponse(String resourceGroupName, String accountName, + Context context) { + return this.serviceClient().deleteWithResponse(resourceGroupName, accountName, context); + } + + public void deleteByResourceGroup(String resourceGroupName, String accountName) { + this.serviceClient().delete(resourceGroupName, accountName); + } + + public Account getById(String id) { + String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups"); + if (resourceGroupName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id))); + } + String accountName = ResourceManagerUtils.getValueFromIdByName(id, "accounts"); + if (accountName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'accounts'.", id))); + } + return this.getByResourceGroupWithResponse(resourceGroupName, accountName, Context.NONE).getValue(); + } + + public Response getByIdWithResponse(String id, Context context) { + String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups"); + if (resourceGroupName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id))); + } + String accountName = ResourceManagerUtils.getValueFromIdByName(id, "accounts"); + if (accountName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'accounts'.", id))); + } + return this.getByResourceGroupWithResponse(resourceGroupName, accountName, context); + } + + public void deleteById(String id) { + String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups"); + if (resourceGroupName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id))); + } + String accountName = ResourceManagerUtils.getValueFromIdByName(id, "accounts"); + if (accountName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'accounts'.", id))); + } + this.deleteByResourceGroupWithResponse(resourceGroupName, accountName, Context.NONE); + } + + public Response deleteByIdWithResponse(String id, Context context) { + String resourceGroupName = ResourceManagerUtils.getValueFromIdByName(id, "resourceGroups"); + if (resourceGroupName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id))); + } + String accountName = ResourceManagerUtils.getValueFromIdByName(id, "accounts"); + if (accountName == null) { + throw LOGGER.logExceptionAsError(new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'accounts'.", id))); + } + return this.deleteByResourceGroupWithResponse(resourceGroupName, accountName, context); + } + + private AccountsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } + + public AccountImpl define(String name) { + return new AccountImpl(name, this.manager()); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/CheckNameAvailabilityResultImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/CheckNameAvailabilityResultImpl.java new file mode 100644 index 000000000000..84ac2d135777 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/CheckNameAvailabilityResultImpl.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner; +import com.azure.resourcemanager.vi.models.CheckNameAvailabilityResult; +import com.azure.resourcemanager.vi.models.Reason; + +public final class CheckNameAvailabilityResultImpl implements CheckNameAvailabilityResult { + private CheckNameAvailabilityResultInner innerObject; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + CheckNameAvailabilityResultImpl(CheckNameAvailabilityResultInner innerObject, + com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public Boolean nameAvailable() { + return this.innerModel().nameAvailable(); + } + + public Reason reason() { + return this.innerModel().reason(); + } + + public String message() { + return this.innerModel().message(); + } + + public CheckNameAvailabilityResultInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesClientImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesClientImpl.java new file mode 100644 index 000000000000..59f6aa951f2e --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesClientImpl.java @@ -0,0 +1,346 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +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.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.vi.fluent.GeneratesClient; +import com.azure.resourcemanager.vi.fluent.models.AccessTokenInner; +import com.azure.resourcemanager.vi.models.GenerateAccessTokenParameters; +import com.azure.resourcemanager.vi.models.GenerateRestrictedViewerAccessTokenParameters; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in GeneratesClient. + */ +public final class GeneratesClientImpl implements GeneratesClient { + /** + * The proxy service used to perform REST calls. + */ + private final GeneratesService service; + + /** + * The service client containing this operation class. + */ + private final ViManagementClientImpl client; + + /** + * Initializes an instance of GeneratesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + GeneratesClientImpl(ViManagementClientImpl client) { + this.service + = RestProxy.create(GeneratesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for ViManagementClientGenerates to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "ViManagementClientGe") + public interface GeneratesService { + @Headers({ "Content-Type: application/json" }) + @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> accessToken(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") GenerateAccessTokenParameters parameters, + @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateRestrictedViewerAccessToken") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> restrictedViewerAccessToken(@HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, @PathParam("accountName") String accountName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") GenerateRestrictedViewerAccessTokenParameters parameters, + @HeaderParam("Accept") String accept, Context context); + } + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating access token. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> accessTokenWithResponseAsync(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.accessToken(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> accessTokenWithResponseAsync(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.accessToken(this.client.getEndpoint(), this.client.getSubscriptionId(), resourceGroupName, + accountName, this.client.getApiVersion(), parameters, accept, context); + } + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono accessTokenAsync(String resourceGroupName, String accountName) { + final GenerateAccessTokenParameters parameters = null; + return accessTokenWithResponseAsync(resourceGroupName, accountName, parameters) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response accessTokenWithResponse(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters, Context context) { + return accessTokenWithResponseAsync(resourceGroupName, accountName, parameters, context).block(); + } + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessTokenInner accessToken(String resourceGroupName, String accountName) { + final GenerateAccessTokenParameters parameters = null; + return accessTokenWithResponse(resourceGroupName, accountName, parameters, Context.NONE).getValue(); + } + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating restricted viewer access token. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> restrictedViewerAccessTokenWithResponseAsync(String resourceGroupName, + String accountName, GenerateRestrictedViewerAccessTokenParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.restrictedViewerAccessToken(this.client.getEndpoint(), + this.client.getSubscriptionId(), resourceGroupName, accountName, this.client.getApiVersion(), + parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating restricted viewer access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> restrictedViewerAccessTokenWithResponseAsync(String resourceGroupName, + String accountName, GenerateRestrictedViewerAccessTokenParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono.error(new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (accountName == null) { + return Mono.error(new IllegalArgumentException("Parameter accountName is required and cannot be null.")); + } + if (parameters != null) { + parameters.validate(); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.restrictedViewerAccessToken(this.client.getEndpoint(), this.client.getSubscriptionId(), + resourceGroupName, accountName, this.client.getApiVersion(), parameters, accept, context); + } + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono restrictedViewerAccessTokenAsync(String resourceGroupName, String accountName) { + final GenerateRestrictedViewerAccessTokenParameters parameters = null; + return restrictedViewerAccessTokenWithResponseAsync(resourceGroupName, accountName, parameters) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating restricted viewer access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response restrictedViewerAccessTokenWithResponse(String resourceGroupName, + String accountName, GenerateRestrictedViewerAccessTokenParameters parameters, Context context) { + return restrictedViewerAccessTokenWithResponseAsync(resourceGroupName, accountName, parameters, context) + .block(); + } + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessTokenInner restrictedViewerAccessToken(String resourceGroupName, String accountName) { + final GenerateRestrictedViewerAccessTokenParameters parameters = null; + return restrictedViewerAccessTokenWithResponse(resourceGroupName, accountName, parameters, Context.NONE) + .getValue(); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesImpl.java new file mode 100644 index 000000000000..3830e3b3584f --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/GeneratesImpl.java @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.vi.fluent.GeneratesClient; +import com.azure.resourcemanager.vi.fluent.models.AccessTokenInner; +import com.azure.resourcemanager.vi.models.AccessToken; +import com.azure.resourcemanager.vi.models.GenerateAccessTokenParameters; +import com.azure.resourcemanager.vi.models.GenerateRestrictedViewerAccessTokenParameters; +import com.azure.resourcemanager.vi.models.Generates; + +public final class GeneratesImpl implements Generates { + private static final ClientLogger LOGGER = new ClientLogger(GeneratesImpl.class); + + private final GeneratesClient innerClient; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + public GeneratesImpl(GeneratesClient innerClient, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response accessTokenWithResponse(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters, Context context) { + Response inner + = this.serviceClient().accessTokenWithResponse(resourceGroupName, accountName, parameters, context); + if (inner != null) { + return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(), + new AccessTokenImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessToken accessToken(String resourceGroupName, String accountName) { + AccessTokenInner inner = this.serviceClient().accessToken(resourceGroupName, accountName); + if (inner != null) { + return new AccessTokenImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response restrictedViewerAccessTokenWithResponse(String resourceGroupName, String accountName, + GenerateRestrictedViewerAccessTokenParameters parameters, Context context) { + Response inner = this.serviceClient() + .restrictedViewerAccessTokenWithResponse(resourceGroupName, accountName, parameters, context); + if (inner != null) { + return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(), + new AccessTokenImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessToken restrictedViewerAccessToken(String resourceGroupName, String accountName) { + AccessTokenInner inner = this.serviceClient().restrictedViewerAccessToken(resourceGroupName, accountName); + if (inner != null) { + return new AccessTokenImpl(inner, this.manager()); + } else { + return null; + } + } + + private GeneratesClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationImpl.java new file mode 100644 index 000000000000..8054cef85f09 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationImpl.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.resourcemanager.vi.fluent.models.OperationInner; +import com.azure.resourcemanager.vi.models.Operation; +import com.azure.resourcemanager.vi.models.OperationDisplay; + +public final class OperationImpl implements Operation { + private OperationInner innerObject; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + OperationImpl(OperationInner innerObject, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String name() { + return this.innerModel().name(); + } + + public Boolean isDataAction() { + return this.innerModel().isDataAction(); + } + + public String actionType() { + return this.innerModel().actionType(); + } + + public OperationDisplay display() { + return this.innerModel().display(); + } + + public String origin() { + return this.innerModel().origin(); + } + + public OperationInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsClientImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsClientImpl.java new file mode 100644 index 000000000000..17af2fa3a530 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsClientImpl.java @@ -0,0 +1,231 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +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.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.vi.fluent.OperationsClient; +import com.azure.resourcemanager.vi.fluent.models.OperationInner; +import com.azure.resourcemanager.vi.models.OperationListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in OperationsClient. + */ +public final class OperationsClientImpl implements OperationsClient { + /** + * The proxy service used to perform REST calls. + */ + private final OperationsService service; + + /** + * The service client containing this operation class. + */ + private final ViManagementClientImpl client; + + /** + * Initializes an instance of OperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + OperationsClientImpl(ViManagementClientImpl client) { + this.service + = RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for ViManagementClientOperations to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "ViManagementClientOp") + public interface OperationsService { + @Headers({ "Content-Type: application/json" }) + @Get("/providers/Microsoft.VideoIndexer/operations") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list(@HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); + + @Headers({ "Content-Type: application/json" }) + @Get("{nextLink}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext(@PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, @HeaderParam("Accept") String accept, Context context); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync() { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(Context context) { + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(Context context) { + return new PagedFlux<>(() -> listSinglePageAsync(context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(Context context) { + return new PagedIterable<>(listAsync(context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), + res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono.error( + new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.listNext(nextLink, this.client.getEndpoint(), accept, context) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + res.getValue().value(), res.getValue().nextLink(), null)); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsImpl.java new file mode 100644 index 000000000000..c18db5dd6be3 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/OperationsImpl.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.vi.fluent.OperationsClient; +import com.azure.resourcemanager.vi.fluent.models.OperationInner; +import com.azure.resourcemanager.vi.models.Operation; +import com.azure.resourcemanager.vi.models.Operations; + +public final class OperationsImpl implements Operations { + private static final ClientLogger LOGGER = new ClientLogger(OperationsImpl.class); + + private final OperationsClient innerClient; + + private final com.azure.resourcemanager.vi.ViManager serviceManager; + + public OperationsImpl(OperationsClient innerClient, com.azure.resourcemanager.vi.ViManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return ResourceManagerUtils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + public PagedIterable list(Context context) { + PagedIterable inner = this.serviceClient().list(context); + return ResourceManagerUtils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + private OperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.vi.ViManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ResourceManagerUtils.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ResourceManagerUtils.java new file mode 100644 index 000000000000..1abcc6818000 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ResourceManagerUtils.java @@ -0,0 +1,195 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.util.CoreUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import reactor.core.publisher.Flux; + +final class ResourceManagerUtils { + private ResourceManagerUtils() { + } + + static String getValueFromIdByName(String id, String name) { + if (id == null) { + return null; + } + Iterator itr = Arrays.stream(id.split("/")).iterator(); + while (itr.hasNext()) { + String part = itr.next(); + if (part != null && !part.trim().isEmpty()) { + if (part.equalsIgnoreCase(name)) { + if (itr.hasNext()) { + return itr.next(); + } else { + return null; + } + } + } + } + return null; + } + + static String getValueFromIdByParameterName(String id, String pathTemplate, String parameterName) { + if (id == null || pathTemplate == null) { + return null; + } + String parameterNameParentheses = "{" + parameterName + "}"; + List idSegmentsReverted = Arrays.asList(id.split("/")); + List pathSegments = Arrays.asList(pathTemplate.split("/")); + Collections.reverse(idSegmentsReverted); + Iterator idItrReverted = idSegmentsReverted.iterator(); + int pathIndex = pathSegments.size(); + while (idItrReverted.hasNext() && pathIndex > 0) { + String idSegment = idItrReverted.next(); + String pathSegment = pathSegments.get(--pathIndex); + if (!CoreUtils.isNullOrEmpty(idSegment) && !CoreUtils.isNullOrEmpty(pathSegment)) { + if (pathSegment.equalsIgnoreCase(parameterNameParentheses)) { + if (pathIndex == 0 || (pathIndex == 1 && pathSegments.get(0).isEmpty())) { + List segments = new ArrayList<>(); + segments.add(idSegment); + idItrReverted.forEachRemaining(segments::add); + Collections.reverse(segments); + if (!segments.isEmpty() && segments.get(0).isEmpty()) { + segments.remove(0); + } + return String.join("/", segments); + } else { + return idSegment; + } + } + } + } + return null; + } + + static PagedIterable mapPage(PagedIterable pageIterable, Function mapper) { + return new PagedIterableImpl<>(pageIterable, mapper); + } + + private static final class PagedIterableImpl extends PagedIterable { + + private final PagedIterable pagedIterable; + private final Function mapper; + private final Function, PagedResponse> pageMapper; + + private PagedIterableImpl(PagedIterable pagedIterable, Function mapper) { + super(PagedFlux.create(() -> (continuationToken, pageSize) -> Flux + .fromStream(pagedIterable.streamByPage().map(getPageMapper(mapper))))); + this.pagedIterable = pagedIterable; + this.mapper = mapper; + this.pageMapper = getPageMapper(mapper); + } + + private static Function, PagedResponse> getPageMapper(Function mapper) { + return page -> new PagedResponseBase(page.getRequest(), page.getStatusCode(), page.getHeaders(), + page.getElements().stream().map(mapper).collect(Collectors.toList()), page.getContinuationToken(), + null); + } + + @Override + public Stream stream() { + return pagedIterable.stream().map(mapper); + } + + @Override + public Stream> streamByPage() { + return pagedIterable.streamByPage().map(pageMapper); + } + + @Override + public Stream> streamByPage(String continuationToken) { + return pagedIterable.streamByPage(continuationToken).map(pageMapper); + } + + @Override + public Stream> streamByPage(int preferredPageSize) { + return pagedIterable.streamByPage(preferredPageSize).map(pageMapper); + } + + @Override + public Stream> streamByPage(String continuationToken, int preferredPageSize) { + return pagedIterable.streamByPage(continuationToken, preferredPageSize).map(pageMapper); + } + + @Override + public Iterator iterator() { + return new IteratorImpl<>(pagedIterable.iterator(), mapper); + } + + @Override + public Iterable> iterableByPage() { + return new IterableImpl<>(pagedIterable.iterableByPage(), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken) { + return new IterableImpl<>(pagedIterable.iterableByPage(continuationToken), pageMapper); + } + + @Override + public Iterable> iterableByPage(int preferredPageSize) { + return new IterableImpl<>(pagedIterable.iterableByPage(preferredPageSize), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken, int preferredPageSize) { + return new IterableImpl<>(pagedIterable.iterableByPage(continuationToken, preferredPageSize), pageMapper); + } + } + + private static final class IteratorImpl implements Iterator { + + private final Iterator iterator; + private final Function mapper; + + private IteratorImpl(Iterator iterator, Function mapper) { + this.iterator = iterator; + this.mapper = mapper; + } + + @Override + public boolean hasNext() { + return iterator.hasNext(); + } + + @Override + public S next() { + return mapper.apply(iterator.next()); + } + + @Override + public void remove() { + iterator.remove(); + } + } + + private static final class IterableImpl implements Iterable { + + private final Iterable iterable; + private final Function mapper; + + private IterableImpl(Iterable iterable, Function mapper) { + this.iterable = iterable; + this.mapper = mapper; + } + + @Override + public Iterator iterator() { + return new IteratorImpl<>(iterable.iterator(), mapper); + } + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientBuilder.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientBuilder.java new file mode 100644 index 000000000000..c81fc4d5f6de --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientBuilder.java @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.annotation.ServiceClientBuilder; +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.management.AzureEnvironment; +import com.azure.core.management.serializer.SerializerFactory; +import com.azure.core.util.serializer.SerializerAdapter; +import java.time.Duration; + +/** + * A builder for creating a new instance of the ViManagementClientImpl type. + */ +@ServiceClientBuilder(serviceClients = { ViManagementClientImpl.class }) +public final class ViManagementClientBuilder { + /* + * The ID of the target subscription. + */ + private String subscriptionId; + + /** + * Sets The ID of the target subscription. + * + * @param subscriptionId the subscriptionId value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /* + * server parameter + */ + private String endpoint; + + /** + * Sets server parameter. + * + * @param endpoint the endpoint value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * The environment to connect to + */ + private AzureEnvironment environment; + + /** + * Sets The environment to connect to. + * + * @param environment the environment value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder environment(AzureEnvironment environment) { + this.environment = environment; + return this; + } + + /* + * The HTTP pipeline to send requests through + */ + private HttpPipeline pipeline; + + /** + * Sets The HTTP pipeline to send requests through. + * + * @param pipeline the pipeline value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder pipeline(HttpPipeline pipeline) { + this.pipeline = pipeline; + return this; + } + + /* + * The default poll interval for long-running operation + */ + private Duration defaultPollInterval; + + /** + * Sets The default poll interval for long-running operation. + * + * @param defaultPollInterval the defaultPollInterval value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder defaultPollInterval(Duration defaultPollInterval) { + this.defaultPollInterval = defaultPollInterval; + return this; + } + + /* + * The serializer to serialize an object into a string + */ + private SerializerAdapter serializerAdapter; + + /** + * Sets The serializer to serialize an object into a string. + * + * @param serializerAdapter the serializerAdapter value. + * @return the ViManagementClientBuilder. + */ + public ViManagementClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { + this.serializerAdapter = serializerAdapter; + return this; + } + + /** + * Builds an instance of ViManagementClientImpl with the provided parameters. + * + * @return an instance of ViManagementClientImpl. + */ + public ViManagementClientImpl buildClient() { + String localEndpoint = (endpoint != null) ? endpoint : "https://management.azure.com"; + AzureEnvironment localEnvironment = (environment != null) ? environment : AzureEnvironment.AZURE; + HttpPipeline localPipeline = (pipeline != null) + ? pipeline + : new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(); + Duration localDefaultPollInterval + = (defaultPollInterval != null) ? defaultPollInterval : Duration.ofSeconds(30); + SerializerAdapter localSerializerAdapter = (serializerAdapter != null) + ? serializerAdapter + : SerializerFactory.createDefaultManagementSerializerAdapter(); + ViManagementClientImpl client = new ViManagementClientImpl(localPipeline, localSerializerAdapter, + localDefaultPollInterval, localEnvironment, this.subscriptionId, localEndpoint); + return client; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientImpl.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientImpl.java new file mode 100644 index 000000000000..ed1190026b3b --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/ViManagementClientImpl.java @@ -0,0 +1,320 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.implementation; + +import com.azure.core.annotation.ServiceClient; +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.rest.Response; +import com.azure.core.management.AzureEnvironment; +import com.azure.core.management.exception.ManagementError; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.management.polling.PollResult; +import com.azure.core.management.polling.PollerFactory; +import com.azure.core.util.Context; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.polling.AsyncPollResponse; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.SerializerEncoding; +import com.azure.resourcemanager.vi.fluent.AccountsClient; +import com.azure.resourcemanager.vi.fluent.GeneratesClient; +import com.azure.resourcemanager.vi.fluent.OperationsClient; +import com.azure.resourcemanager.vi.fluent.ViManagementClient; +import java.io.IOException; +import java.lang.reflect.Type; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the ViManagementClientImpl type. + */ +@ServiceClient(builder = ViManagementClientBuilder.class) +public final class ViManagementClientImpl implements ViManagementClient { + /** + * The ID of the target subscription. + */ + private final String subscriptionId; + + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + public String getSubscriptionId() { + return this.subscriptionId; + } + + /** + * server parameter. + */ + private final String endpoint; + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** + * Api Version. + */ + private final String apiVersion; + + /** + * Gets Api Version. + * + * @return the apiVersion value. + */ + public String getApiVersion() { + return this.apiVersion; + } + + /** + * 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. + */ + SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * The default poll interval for long-running operation. + */ + private final Duration defaultPollInterval; + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + public Duration getDefaultPollInterval() { + return this.defaultPollInterval; + } + + /** + * The OperationsClient object to access its operations. + */ + private final OperationsClient operations; + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + public OperationsClient getOperations() { + return this.operations; + } + + /** + * The AccountsClient object to access its operations. + */ + private final AccountsClient accounts; + + /** + * Gets the AccountsClient object to access its operations. + * + * @return the AccountsClient object. + */ + public AccountsClient getAccounts() { + return this.accounts; + } + + /** + * The GeneratesClient object to access its operations. + */ + private final GeneratesClient generates; + + /** + * Gets the GeneratesClient object to access its operations. + * + * @return the GeneratesClient object. + */ + public GeneratesClient getGenerates() { + return this.generates; + } + + /** + * Initializes an instance of ViManagementClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param defaultPollInterval The default poll interval for long-running operation. + * @param environment The Azure environment. + * @param subscriptionId The ID of the target subscription. + * @param endpoint server parameter. + */ + ViManagementClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, Duration defaultPollInterval, + AzureEnvironment environment, String subscriptionId, String endpoint) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.defaultPollInterval = defaultPollInterval; + this.subscriptionId = subscriptionId; + this.endpoint = endpoint; + this.apiVersion = "2025-01-01"; + this.operations = new OperationsClientImpl(this); + this.accounts = new AccountsClientImpl(this); + this.generates = new GeneratesClientImpl(this); + } + + /** + * Gets default client context. + * + * @return the default client context. + */ + public Context getContext() { + return Context.NONE; + } + + /** + * Merges default client context with provided context. + * + * @param context the context to be merged with default client context. + * @return the merged context. + */ + public Context mergeContext(Context context) { + return CoreUtils.mergeContexts(this.getContext(), context); + } + + /** + * Gets long running operation result. + * + * @param activationResponse the response of activation operation. + * @param httpPipeline the http pipeline. + * @param pollResultType type of poll result. + * @param finalResultType type of final result. + * @param context the context shared by all requests. + * @param type of poll result. + * @param type of final result. + * @return poller flux for poll result and final result. + */ + public PollerFlux, U> getLroResult(Mono>> activationResponse, + HttpPipeline httpPipeline, Type pollResultType, Type finalResultType, Context context) { + return PollerFactory.create(serializerAdapter, httpPipeline, pollResultType, finalResultType, + defaultPollInterval, activationResponse, context); + } + + /** + * Gets the final result, or an error, based on last async poll response. + * + * @param response the last async poll response. + * @param type of poll result. + * @param type of final result. + * @return the final result, or an error. + */ + public Mono getLroFinalResultOrError(AsyncPollResponse, U> response) { + if (response.getStatus() != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) { + String errorMessage; + ManagementError managementError = null; + HttpResponse errorResponse = null; + PollResult.Error lroError = response.getValue().getError(); + if (lroError != null) { + errorResponse = new HttpResponseImpl(lroError.getResponseStatusCode(), lroError.getResponseHeaders(), + lroError.getResponseBody()); + + errorMessage = response.getValue().getError().getMessage(); + String errorBody = response.getValue().getError().getResponseBody(); + if (errorBody != null) { + // try to deserialize error body to ManagementError + try { + managementError = this.getSerializerAdapter() + .deserialize(errorBody, ManagementError.class, SerializerEncoding.JSON); + if (managementError.getCode() == null || managementError.getMessage() == null) { + managementError = null; + } + } catch (IOException | RuntimeException ioe) { + LOGGER.logThrowableAsWarning(ioe); + } + } + } else { + // fallback to default error message + errorMessage = "Long running operation failed."; + } + if (managementError == null) { + // fallback to default ManagementError + managementError = new ManagementError(response.getStatus().toString(), errorMessage); + } + return Mono.error(new ManagementException(errorMessage, errorResponse, managementError)); + } else { + return response.getFinalResult(); + } + } + + private static final class HttpResponseImpl extends HttpResponse { + private final int statusCode; + + private final byte[] responseBody; + + private final HttpHeaders httpHeaders; + + HttpResponseImpl(int statusCode, HttpHeaders httpHeaders, String responseBody) { + super(null); + this.statusCode = statusCode; + this.httpHeaders = httpHeaders; + this.responseBody = responseBody == null ? null : responseBody.getBytes(StandardCharsets.UTF_8); + } + + public int getStatusCode() { + return statusCode; + } + + public String getHeaderValue(String s) { + return httpHeaders.getValue(HttpHeaderName.fromString(s)); + } + + public HttpHeaders getHeaders() { + return httpHeaders; + } + + public Flux getBody() { + return Flux.just(ByteBuffer.wrap(responseBody)); + } + + public Mono getBodyAsByteArray() { + return Mono.just(responseBody); + } + + public Mono getBodyAsString() { + return Mono.just(new String(responseBody, StandardCharsets.UTF_8)); + } + + public Mono getBodyAsString(Charset charset) { + return Mono.just(new String(responseBody, charset)); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(ViManagementClientImpl.class); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/package-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/package-info.java new file mode 100644 index 000000000000..0804b0b7d8b1 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/implementation/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the implementations for ViManagementClient. + * Microsoft Azure Video Indexer. + */ +package com.azure.resourcemanager.vi.implementation; diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccessToken.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccessToken.java new file mode 100644 index 000000000000..00a0a1f67236 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccessToken.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.resourcemanager.vi.fluent.models.AccessTokenInner; + +/** + * An immutable client-side representation of AccessToken. + */ +public interface AccessToken { + /** + * Gets the accessToken property: The access token. + * + * @return the accessToken value. + */ + String accessToken(); + + /** + * Gets the inner com.azure.resourcemanager.vi.fluent.models.AccessTokenInner object. + * + * @return the inner object. + */ + AccessTokenInner innerModel(); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Account.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Account.java new file mode 100644 index 000000000000..83d43c340585 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Account.java @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.management.Region; +import com.azure.core.management.SystemData; +import com.azure.core.util.Context; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import java.util.Map; + +/** + * An immutable client-side representation of Account. + */ +public interface Account { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the location property: The geo-location where the resource lives. + * + * @return the location value. + */ + String location(); + + /** + * Gets the tags property: Resource tags. + * + * @return the tags value. + */ + Map tags(); + + /** + * Gets the identity property: Managed service identity (system assigned and/or user assigned identities). + * + * @return the identity value. + */ + ManagedServiceIdentity identity(); + + /** + * Gets the systemData property: The system meta data relating to this resource. + * + * @return the systemData value. + */ + SystemData systemData(); + + /** + * Gets the tenantId property: The account's tenant id. + * + * @return the tenantId value. + */ + String tenantId(); + + /** + * Gets the accountId property: The account's data-plane ID. This can be set only when connecting an existing + * classic account. + * + * @return the accountId value. + */ + String accountId(); + + /** + * Gets the accountName property: The account's name. + * + * @return the accountName value. + */ + String accountName(); + + /** + * Gets the storageServices property: The storage services details. + * + * @return the storageServices value. + */ + StorageServicesForPutRequest storageServices(); + + /** + * Gets the openAiServices property: The openAi services details. + * + * @return the openAiServices value. + */ + OpenAiServicesForPutRequest openAiServices(); + + /** + * Gets the totalSecondsIndexed property: An integer representing the total seconds that have been indexed on the + * account. + * + * @return the totalSecondsIndexed value. + */ + Integer totalSecondsIndexed(); + + /** + * Gets the totalMinutesIndexed property: An integer representing the total minutes that have been indexed on the + * account. + * + * @return the totalMinutesIndexed value. + */ + Long totalMinutesIndexed(); + + /** + * Gets the provisioningState property: Gets the status of the account at the time the operation was called. + * + * @return the provisioningState value. + */ + ProvisioningState provisioningState(); + + /** + * Gets the region of the resource. + * + * @return the region of the resource. + */ + Region region(); + + /** + * Gets the name of the resource region. + * + * @return the name of the resource region. + */ + String regionName(); + + /** + * Gets the name of the resource group. + * + * @return the name of the resource group. + */ + String resourceGroupName(); + + /** + * Gets the inner com.azure.resourcemanager.vi.fluent.models.AccountInner object. + * + * @return the inner object. + */ + AccountInner innerModel(); + + /** + * The entirety of the Account definition. + */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithLocation, + DefinitionStages.WithResourceGroup, DefinitionStages.WithCreate { + } + + /** + * The Account definition stages. + */ + interface DefinitionStages { + /** + * The first stage of the Account definition. + */ + interface Blank extends WithLocation { + } + + /** + * The stage of the Account definition allowing to specify location. + */ + interface WithLocation { + /** + * Specifies the region for the resource. + * + * @param location The geo-location where the resource lives. + * @return the next definition stage. + */ + WithResourceGroup withRegion(Region location); + + /** + * Specifies the region for the resource. + * + * @param location The geo-location where the resource lives. + * @return the next definition stage. + */ + WithResourceGroup withRegion(String location); + } + + /** + * The stage of the Account definition allowing to specify parent resource. + */ + interface WithResourceGroup { + /** + * Specifies resourceGroupName. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @return the next definition stage. + */ + WithCreate withExistingResourceGroup(String resourceGroupName); + } + + /** + * The stage of the Account definition which contains all the minimum required properties for the resource to be + * created, but also allows for any other optional properties to be specified. + */ + interface WithCreate extends DefinitionStages.WithTags, DefinitionStages.WithIdentity, + DefinitionStages.WithAccountId, DefinitionStages.WithStorageServices, DefinitionStages.WithOpenAiServices { + /** + * Executes the create request. + * + * @return the created resource. + */ + Account create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + Account create(Context context); + } + + /** + * The stage of the Account definition allowing to specify tags. + */ + interface WithTags { + /** + * Specifies the tags property: Resource tags.. + * + * @param tags Resource tags. + * @return the next definition stage. + */ + WithCreate withTags(Map tags); + } + + /** + * The stage of the Account definition allowing to specify identity. + */ + interface WithIdentity { + /** + * Specifies the identity property: Managed service identity (system assigned and/or user assigned + * identities). + * + * @param identity Managed service identity (system assigned and/or user assigned identities). + * @return the next definition stage. + */ + WithCreate withIdentity(ManagedServiceIdentity identity); + } + + /** + * The stage of the Account definition allowing to specify accountId. + */ + interface WithAccountId { + /** + * Specifies the accountId property: The account's data-plane ID. This can be set only when connecting an + * existing classic account. + * + * @param accountId The account's data-plane ID. This can be set only when connecting an existing classic + * account. + * @return the next definition stage. + */ + WithCreate withAccountId(String accountId); + } + + /** + * The stage of the Account definition allowing to specify storageServices. + */ + interface WithStorageServices { + /** + * Specifies the storageServices property: The storage services details. + * + * @param storageServices The storage services details. + * @return the next definition stage. + */ + WithCreate withStorageServices(StorageServicesForPutRequest storageServices); + } + + /** + * The stage of the Account definition allowing to specify openAiServices. + */ + interface WithOpenAiServices { + /** + * Specifies the openAiServices property: The openAi services details. + * + * @param openAiServices The openAi services details. + * @return the next definition stage. + */ + WithCreate withOpenAiServices(OpenAiServicesForPutRequest openAiServices); + } + } + + /** + * Begins update for the Account resource. + * + * @return the stage of resource update. + */ + Account.Update update(); + + /** + * The template for Account update. + */ + interface Update extends UpdateStages.WithTags, UpdateStages.WithIdentity, UpdateStages.WithStorageServices, + UpdateStages.WithOpenAiServices { + /** + * Executes the update request. + * + * @return the updated resource. + */ + Account apply(); + + /** + * Executes the update request. + * + * @param context The context to associate with this operation. + * @return the updated resource. + */ + Account apply(Context context); + } + + /** + * The Account update stages. + */ + interface UpdateStages { + /** + * The stage of the Account update allowing to specify tags. + */ + interface WithTags { + /** + * Specifies the tags property: Resource tags. + * + * @param tags Resource tags. + * @return the next definition stage. + */ + Update withTags(Map tags); + } + + /** + * The stage of the Account update allowing to specify identity. + */ + interface WithIdentity { + /** + * Specifies the identity property: Managed service identity (system assigned and/or user assigned + * identities). + * + * @param identity Managed service identity (system assigned and/or user assigned identities). + * @return the next definition stage. + */ + Update withIdentity(ManagedServiceIdentity identity); + } + + /** + * The stage of the Account update allowing to specify storageServices. + */ + interface WithStorageServices { + /** + * Specifies the storageServices property: The storage services details. + * + * @param storageServices The storage services details. + * @return the next definition stage. + */ + Update withStorageServices(StorageServicesForPatchRequest storageServices); + } + + /** + * The stage of the Account update allowing to specify openAiServices. + */ + interface WithOpenAiServices { + /** + * Specifies the openAiServices property: The openAi services details. + * + * @param openAiServices The openAi services details. + * @return the next definition stage. + */ + Update withOpenAiServices(OpenAiServicesForPatchRequest openAiServices); + } + } + + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + Account refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + Account refresh(Context context); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountCheckNameAvailabilityParameters.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountCheckNameAvailabilityParameters.java new file mode 100644 index 000000000000..6e81d6b864a7 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountCheckNameAvailabilityParameters.java @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The parameters used to check the availability of the Video Indexer account name. + */ +@Fluent +public final class AccountCheckNameAvailabilityParameters + implements JsonSerializable { + /* + * The VideoIndexer account name. + */ + private String name; + + /* + * The type of resource, Microsoft.VideoIndexer/accounts + */ + private Type type; + + /** + * Creates an instance of AccountCheckNameAvailabilityParameters class. + */ + public AccountCheckNameAvailabilityParameters() { + } + + /** + * Get the name property: The VideoIndexer account name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: The VideoIndexer account name. + * + * @param name the name value to set. + * @return the AccountCheckNameAvailabilityParameters object itself. + */ + public AccountCheckNameAvailabilityParameters withName(String name) { + this.name = name; + return this; + } + + /** + * Get the type property: The type of resource, Microsoft.VideoIndexer/accounts. + * + * @return the type value. + */ + public Type type() { + return this.type; + } + + /** + * Set the type property: The type of resource, Microsoft.VideoIndexer/accounts. + * + * @param type the type value to set. + * @return the AccountCheckNameAvailabilityParameters object itself. + */ + public AccountCheckNameAvailabilityParameters withType(Type type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (name() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException( + "Missing required property name in model AccountCheckNameAvailabilityParameters")); + } + if (type() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException( + "Missing required property type in model AccountCheckNameAvailabilityParameters")); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(AccountCheckNameAvailabilityParameters.class); + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountCheckNameAvailabilityParameters from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountCheckNameAvailabilityParameters 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 AccountCheckNameAvailabilityParameters. + */ + public static AccountCheckNameAvailabilityParameters fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountCheckNameAvailabilityParameters deserializedAccountCheckNameAvailabilityParameters + = new AccountCheckNameAvailabilityParameters(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("name".equals(fieldName)) { + deserializedAccountCheckNameAvailabilityParameters.name = reader.getString(); + } else if ("type".equals(fieldName)) { + deserializedAccountCheckNameAvailabilityParameters.type = Type.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountCheckNameAvailabilityParameters; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountList.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountList.java new file mode 100644 index 000000000000..f91f2d1e47c0 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountList.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.resourcemanager.vi.fluent.models.AccountInner; +import java.io.IOException; +import java.util.List; + +/** + * The list operation response, that contains the data pools and their properties. + */ +@Fluent +public final class AccountList implements JsonSerializable { + /* + * List of accounts and their properties. + */ + private List value; + + /* + * URL to get the next set of operation list results if there are any. + */ + private String nextLink; + + /** + * Creates an instance of AccountList class. + */ + public AccountList() { + } + + /** + * Get the value property: List of accounts and their properties. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Get the nextLink property: URL to get the next set of operation list results if there are any. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: URL to get the next set of operation list results if there are any. + * + * @param nextLink the nextLink value to set. + * @return the AccountList object itself. + */ + public AccountList withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("nextLink", this.nextLink); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountList from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountList 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 AccountList. + */ + public static AccountList fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountList deserializedAccountList = new AccountList(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + List value = reader.readArray(reader1 -> AccountInner.fromJson(reader1)); + deserializedAccountList.value = value; + } else if ("nextLink".equals(fieldName)) { + deserializedAccountList.nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountList; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountPatch.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountPatch.java new file mode 100644 index 000000000000..cc13a5915a76 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/AccountPatch.java @@ -0,0 +1,204 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.azure.resourcemanager.vi.fluent.models.AccountPropertiesForPatchRequest; +import java.io.IOException; +import java.util.Map; + +/** + * Azure Video Indexer account. + */ +@Fluent +public final class AccountPatch extends Tags { + /* + * List of account properties + */ + private AccountPropertiesForPatchRequest innerProperties; + + /* + * Managed service identity (system assigned and/or user assigned identities) + */ + private ManagedServiceIdentity identity; + + /** + * Creates an instance of AccountPatch class. + */ + public AccountPatch() { + } + + /** + * Get the innerProperties property: List of account properties. + * + * @return the innerProperties value. + */ + private AccountPropertiesForPatchRequest innerProperties() { + return this.innerProperties; + } + + /** + * Get the identity property: Managed service identity (system assigned and/or user assigned identities). + * + * @return the identity value. + */ + public ManagedServiceIdentity identity() { + return this.identity; + } + + /** + * Set the identity property: Managed service identity (system assigned and/or user assigned identities). + * + * @param identity the identity value to set. + * @return the AccountPatch object itself. + */ + public AccountPatch withIdentity(ManagedServiceIdentity identity) { + this.identity = identity; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public AccountPatch withTags(Map tags) { + super.withTags(tags); + return this; + } + + /** + * Get the tenantId property: The account's tenant id. + * + * @return the tenantId value. + */ + public String tenantId() { + return this.innerProperties() == null ? null : this.innerProperties().tenantId(); + } + + /** + * Get the accountId property: The account's data-plane ID. + * + * @return the accountId value. + */ + public String accountId() { + return this.innerProperties() == null ? null : this.innerProperties().accountId(); + } + + /** + * Get the storageServices property: The storage services details. + * + * @return the storageServices value. + */ + public StorageServicesForPatchRequest storageServices() { + return this.innerProperties() == null ? null : this.innerProperties().storageServices(); + } + + /** + * Set the storageServices property: The storage services details. + * + * @param storageServices the storageServices value to set. + * @return the AccountPatch object itself. + */ + public AccountPatch withStorageServices(StorageServicesForPatchRequest storageServices) { + if (this.innerProperties() == null) { + this.innerProperties = new AccountPropertiesForPatchRequest(); + } + this.innerProperties().withStorageServices(storageServices); + return this; + } + + /** + * Get the openAiServices property: The openAi services details. + * + * @return the openAiServices value. + */ + public OpenAiServicesForPatchRequest openAiServices() { + return this.innerProperties() == null ? null : this.innerProperties().openAiServices(); + } + + /** + * Set the openAiServices property: The openAi services details. + * + * @param openAiServices the openAiServices value to set. + * @return the AccountPatch object itself. + */ + public AccountPatch withOpenAiServices(OpenAiServicesForPatchRequest openAiServices) { + if (this.innerProperties() == null) { + this.innerProperties = new AccountPropertiesForPatchRequest(); + } + this.innerProperties().withOpenAiServices(openAiServices); + return this; + } + + /** + * Get the provisioningState property: Gets the status of the account at the time the operation was called. + * + * @return the provisioningState value. + */ + public ProvisioningState provisioningState() { + return this.innerProperties() == null ? null : this.innerProperties().provisioningState(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + if (identity() != null) { + identity().validate(); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("properties", this.innerProperties); + jsonWriter.writeJsonField("identity", this.identity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AccountPatch from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AccountPatch 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 AccountPatch. + */ + public static AccountPatch fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AccountPatch deserializedAccountPatch = new AccountPatch(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tags".equals(fieldName)) { + Map tags = reader.readMap(reader1 -> reader1.getString()); + deserializedAccountPatch.withTags(tags); + } else if ("properties".equals(fieldName)) { + deserializedAccountPatch.innerProperties = AccountPropertiesForPatchRequest.fromJson(reader); + } else if ("identity".equals(fieldName)) { + deserializedAccountPatch.identity = ManagedServiceIdentity.fromJson(reader); + } else { + reader.skipChildren(); + } + } + + return deserializedAccountPatch; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Accounts.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Accounts.java new file mode 100644 index 000000000000..bb0be62d286b --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Accounts.java @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** + * Resource collection API of Accounts. + */ +public interface Accounts { + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response along with {@link Response}. + */ + Response checkNameAvailabilityWithResponse( + AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters, Context context); + + /** + * Checks that the Video Indexer account name is valid and is not already in use. + * + * @param checkNameAvailabilityParameters The name of the Video Indexer account. Name must be unique globally. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the CheckNameAvailability operation response. + */ + CheckNameAvailabilityResult + checkNameAvailability(AccountCheckNameAvailabilityParameters checkNameAvailabilityParameters); + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * List all Azure Video Indexer accounts available under the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + PagedIterable list(Context context); + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * List all Azure Video Indexer accounts available under the resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the list operation response, that contains the data pools and their properties as paginated response with + * {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName, Context context); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response}. + */ + Response getByResourceGroupWithResponse(String resourceGroupName, String accountName, Context context); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account. + */ + Account getByResourceGroup(String resourceGroupName, String accountName); + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteByResourceGroupWithResponse(String resourceGroupName, String accountName, Context context); + + /** + * Delete an Azure Video Indexer account. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteByResourceGroup(String resourceGroupName, String accountName); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response}. + */ + Account getById(String id); + + /** + * Gets the properties of an Azure Video Indexer account. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the properties of an Azure Video Indexer account along with {@link Response}. + */ + Response getByIdWithResponse(String id, Context context); + + /** + * Delete an Azure Video Indexer account. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteById(String id); + + /** + * Delete an Azure Video Indexer account. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteByIdWithResponse(String id, Context context); + + /** + * Begins definition for a new Account resource. + * + * @param name resource name. + * @return the first stage of the new Account definition. + */ + Account.DefinitionStages.Blank define(String name); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/CheckNameAvailabilityResult.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/CheckNameAvailabilityResult.java new file mode 100644 index 000000000000..cbc03d686b21 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/CheckNameAvailabilityResult.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner; + +/** + * An immutable client-side representation of CheckNameAvailabilityResult. + */ +public interface CheckNameAvailabilityResult { + /** + * Gets the nameAvailable property: Gets a boolean value that indicates whether the name is available for you to + * use. If true, the name is available. If false, the name has already been taken. + * + * @return the nameAvailable value. + */ + Boolean nameAvailable(); + + /** + * Gets the reason property: Gets the reason that a Video Indexer account name could not be used. The Reason element + * is only returned if NameAvailable is false. + * + * @return the reason value. + */ + Reason reason(); + + /** + * Gets the message property: Gets an error message explaining the Reason value in more detail. + * + * @return the message value. + */ + String message(); + + /** + * Gets the inner com.azure.resourcemanager.vi.fluent.models.CheckNameAvailabilityResultInner object. + * + * @return the inner object. + */ + CheckNameAvailabilityResultInner innerModel(); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateAccessTokenParameters.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateAccessTokenParameters.java new file mode 100644 index 000000000000..994ea98c210d --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateAccessTokenParameters.java @@ -0,0 +1,194 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Access token generation request's parameters. + */ +@Fluent +public final class GenerateAccessTokenParameters implements JsonSerializable { + /* + * The requested permission + */ + private PermissionType permissionType; + + /* + * The requested media type + */ + private Scope scope; + + /* + * The video ID + */ + private String videoId; + + /* + * The project ID + */ + private String projectId; + + /** + * Creates an instance of GenerateAccessTokenParameters class. + */ + public GenerateAccessTokenParameters() { + } + + /** + * Get the permissionType property: The requested permission. + * + * @return the permissionType value. + */ + public PermissionType permissionType() { + return this.permissionType; + } + + /** + * Set the permissionType property: The requested permission. + * + * @param permissionType the permissionType value to set. + * @return the GenerateAccessTokenParameters object itself. + */ + public GenerateAccessTokenParameters withPermissionType(PermissionType permissionType) { + this.permissionType = permissionType; + return this; + } + + /** + * Get the scope property: The requested media type. + * + * @return the scope value. + */ + public Scope scope() { + return this.scope; + } + + /** + * Set the scope property: The requested media type. + * + * @param scope the scope value to set. + * @return the GenerateAccessTokenParameters object itself. + */ + public GenerateAccessTokenParameters withScope(Scope scope) { + this.scope = scope; + return this; + } + + /** + * Get the videoId property: The video ID. + * + * @return the videoId value. + */ + public String videoId() { + return this.videoId; + } + + /** + * Set the videoId property: The video ID. + * + * @param videoId the videoId value to set. + * @return the GenerateAccessTokenParameters object itself. + */ + public GenerateAccessTokenParameters withVideoId(String videoId) { + this.videoId = videoId; + return this; + } + + /** + * Get the projectId property: The project ID. + * + * @return the projectId value. + */ + public String projectId() { + return this.projectId; + } + + /** + * Set the projectId property: The project ID. + * + * @param projectId the projectId value to set. + * @return the GenerateAccessTokenParameters object itself. + */ + public GenerateAccessTokenParameters withProjectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (permissionType() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException( + "Missing required property permissionType in model GenerateAccessTokenParameters")); + } + if (scope() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException( + "Missing required property scope in model GenerateAccessTokenParameters")); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(GenerateAccessTokenParameters.class); + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("permissionType", + this.permissionType == null ? null : this.permissionType.toString()); + jsonWriter.writeStringField("scope", this.scope == null ? null : this.scope.toString()); + jsonWriter.writeStringField("videoId", this.videoId); + jsonWriter.writeStringField("projectId", this.projectId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GenerateAccessTokenParameters from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GenerateAccessTokenParameters 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 GenerateAccessTokenParameters. + */ + public static GenerateAccessTokenParameters fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GenerateAccessTokenParameters deserializedGenerateAccessTokenParameters + = new GenerateAccessTokenParameters(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("permissionType".equals(fieldName)) { + deserializedGenerateAccessTokenParameters.permissionType + = PermissionType.fromString(reader.getString()); + } else if ("scope".equals(fieldName)) { + deserializedGenerateAccessTokenParameters.scope = Scope.fromString(reader.getString()); + } else if ("videoId".equals(fieldName)) { + deserializedGenerateAccessTokenParameters.videoId = reader.getString(); + } else if ("projectId".equals(fieldName)) { + deserializedGenerateAccessTokenParameters.projectId = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedGenerateAccessTokenParameters; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateRestrictedViewerAccessTokenParameters.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateRestrictedViewerAccessTokenParameters.java new file mode 100644 index 000000000000..b84b64ace2b3 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/GenerateRestrictedViewerAccessTokenParameters.java @@ -0,0 +1,161 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Restricted viewer access token generation request's parameters. + */ +@Fluent +public final class GenerateRestrictedViewerAccessTokenParameters + implements JsonSerializable { + /* + * The requested media type + */ + private Scope scope; + + /* + * The video ID + */ + private String videoId; + + /* + * The project ID + */ + private String projectId; + + /** + * Creates an instance of GenerateRestrictedViewerAccessTokenParameters class. + */ + public GenerateRestrictedViewerAccessTokenParameters() { + } + + /** + * Get the scope property: The requested media type. + * + * @return the scope value. + */ + public Scope scope() { + return this.scope; + } + + /** + * Set the scope property: The requested media type. + * + * @param scope the scope value to set. + * @return the GenerateRestrictedViewerAccessTokenParameters object itself. + */ + public GenerateRestrictedViewerAccessTokenParameters withScope(Scope scope) { + this.scope = scope; + return this; + } + + /** + * Get the videoId property: The video ID. + * + * @return the videoId value. + */ + public String videoId() { + return this.videoId; + } + + /** + * Set the videoId property: The video ID. + * + * @param videoId the videoId value to set. + * @return the GenerateRestrictedViewerAccessTokenParameters object itself. + */ + public GenerateRestrictedViewerAccessTokenParameters withVideoId(String videoId) { + this.videoId = videoId; + return this; + } + + /** + * Get the projectId property: The project ID. + * + * @return the projectId value. + */ + public String projectId() { + return this.projectId; + } + + /** + * Set the projectId property: The project ID. + * + * @param projectId the projectId value to set. + * @return the GenerateRestrictedViewerAccessTokenParameters object itself. + */ + public GenerateRestrictedViewerAccessTokenParameters withProjectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (scope() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException( + "Missing required property scope in model GenerateRestrictedViewerAccessTokenParameters")); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(GenerateRestrictedViewerAccessTokenParameters.class); + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("scope", this.scope == null ? null : this.scope.toString()); + jsonWriter.writeStringField("videoId", this.videoId); + jsonWriter.writeStringField("projectId", this.projectId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GenerateRestrictedViewerAccessTokenParameters from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GenerateRestrictedViewerAccessTokenParameters 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 GenerateRestrictedViewerAccessTokenParameters. + */ + public static GenerateRestrictedViewerAccessTokenParameters fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GenerateRestrictedViewerAccessTokenParameters deserializedGenerateRestrictedViewerAccessTokenParameters + = new GenerateRestrictedViewerAccessTokenParameters(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("scope".equals(fieldName)) { + deserializedGenerateRestrictedViewerAccessTokenParameters.scope + = Scope.fromString(reader.getString()); + } else if ("videoId".equals(fieldName)) { + deserializedGenerateRestrictedViewerAccessTokenParameters.videoId = reader.getString(); + } else if ("projectId".equals(fieldName)) { + deserializedGenerateRestrictedViewerAccessTokenParameters.projectId = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedGenerateRestrictedViewerAccessTokenParameters; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Generates.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Generates.java new file mode 100644 index 000000000000..ec01bae00e0d --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Generates.java @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** + * Resource collection API of Generates. + */ +public interface Generates { + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + Response accessTokenWithResponse(String resourceGroupName, String accountName, + GenerateAccessTokenParameters parameters, Context context); + + /** + * Generate an Azure Video Indexer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + AccessToken accessToken(String resourceGroupName, String accountName); + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @param parameters The parameters for generating restricted viewer access token. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token along with {@link Response}. + */ + Response restrictedViewerAccessTokenWithResponse(String resourceGroupName, String accountName, + GenerateRestrictedViewerAccessTokenParameters parameters, Context context); + + /** + * Generate an Azure Video Indexer restricted viewer access token. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param accountName The name of the Azure Video Indexer account. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return azure Video Indexer access token. + */ + AccessToken restrictedViewerAccessToken(String resourceGroupName, String accountName); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentity.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentity.java new file mode 100644 index 000000000000..3e583fd09ce9 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentity.java @@ -0,0 +1,190 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +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; +import java.util.UUID; + +/** + * Managed service identity (system assigned and/or user assigned identities). + */ +@Fluent +public final class ManagedServiceIdentity implements JsonSerializable { + /* + * The service principal ID of the system assigned identity. This property will only be provided for a system + * assigned identity. + */ + private UUID principalId; + + /* + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned + * identity. + */ + private UUID tenantId; + + /* + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ + private ManagedServiceIdentityType type; + + /* + * The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will + * be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/ + * userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. + */ + private Map userAssignedIdentities; + + /** + * Creates an instance of ManagedServiceIdentity class. + */ + public ManagedServiceIdentity() { + } + + /** + * Get the principalId property: The service principal ID of the system assigned identity. This property will only + * be provided for a system assigned identity. + * + * @return the principalId value. + */ + public UUID principalId() { + return this.principalId; + } + + /** + * Get the tenantId property: The tenant ID of the system assigned identity. This property will only be provided for + * a system assigned identity. + * + * @return the tenantId value. + */ + public UUID tenantId() { + return this.tenantId; + } + + /** + * Get the type property: Type of managed service identity (where both SystemAssigned and UserAssigned types are + * allowed). + * + * @return the type value. + */ + public ManagedServiceIdentityType type() { + return this.type; + } + + /** + * Set the type property: Type of managed service identity (where both SystemAssigned and UserAssigned types are + * allowed). + * + * @param type the type value to set. + * @return the ManagedServiceIdentity object itself. + */ + public ManagedServiceIdentity withType(ManagedServiceIdentityType type) { + this.type = type; + return this; + } + + /** + * Get the userAssignedIdentities property: The set of user assigned identities associated with the resource. The + * userAssignedIdentities dictionary keys will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + * The dictionary values can be empty objects ({}) in requests. + * + * @return the userAssignedIdentities value. + */ + public Map userAssignedIdentities() { + return this.userAssignedIdentities; + } + + /** + * Set the userAssignedIdentities property: The set of user assigned identities associated with the resource. The + * userAssignedIdentities dictionary keys will be ARM resource ids in the form: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. + * The dictionary values can be empty objects ({}) in requests. + * + * @param userAssignedIdentities the userAssignedIdentities value to set. + * @return the ManagedServiceIdentity object itself. + */ + public ManagedServiceIdentity withUserAssignedIdentities(Map userAssignedIdentities) { + this.userAssignedIdentities = userAssignedIdentities; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (type() == null) { + throw LOGGER.atError() + .log(new IllegalArgumentException("Missing required property type in model ManagedServiceIdentity")); + } + if (userAssignedIdentities() != null) { + userAssignedIdentities().values().forEach(e -> { + if (e != null) { + e.validate(); + } + }); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(ManagedServiceIdentity.class); + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeMapField("userAssignedIdentities", this.userAssignedIdentities, + (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ManagedServiceIdentity from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ManagedServiceIdentity 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 ManagedServiceIdentity. + */ + public static ManagedServiceIdentity fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ManagedServiceIdentity deserializedManagedServiceIdentity = new ManagedServiceIdentity(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("type".equals(fieldName)) { + deserializedManagedServiceIdentity.type = ManagedServiceIdentityType.fromString(reader.getString()); + } else if ("principalId".equals(fieldName)) { + deserializedManagedServiceIdentity.principalId + = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString())); + } else if ("tenantId".equals(fieldName)) { + deserializedManagedServiceIdentity.tenantId + = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString())); + } else if ("userAssignedIdentities".equals(fieldName)) { + Map userAssignedIdentities + = reader.readMap(reader1 -> UserAssignedIdentity.fromJson(reader1)); + deserializedManagedServiceIdentity.userAssignedIdentities = userAssignedIdentities; + } else { + reader.skipChildren(); + } + } + + return deserializedManagedServiceIdentity; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentityType.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentityType.java new file mode 100644 index 000000000000..b929fabc322f --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ManagedServiceIdentityType.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). + */ +public final class ManagedServiceIdentityType extends ExpandableStringEnum { + /** + * Static value None for ManagedServiceIdentityType. + */ + public static final ManagedServiceIdentityType NONE = fromString("None"); + + /** + * Static value SystemAssigned for ManagedServiceIdentityType. + */ + public static final ManagedServiceIdentityType SYSTEM_ASSIGNED = fromString("SystemAssigned"); + + /** + * Static value UserAssigned for ManagedServiceIdentityType. + */ + public static final ManagedServiceIdentityType USER_ASSIGNED = fromString("UserAssigned"); + + /** + * Static value SystemAssigned,UserAssigned for ManagedServiceIdentityType. + */ + public static final ManagedServiceIdentityType SYSTEM_ASSIGNED_USER_ASSIGNED + = fromString("SystemAssigned,UserAssigned"); + + /** + * Creates a new instance of ManagedServiceIdentityType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public ManagedServiceIdentityType() { + } + + /** + * Creates or finds a ManagedServiceIdentityType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ManagedServiceIdentityType. + */ + public static ManagedServiceIdentityType fromString(String name) { + return fromString(name, ManagedServiceIdentityType.class); + } + + /** + * Gets known ManagedServiceIdentityType values. + * + * @return known ManagedServiceIdentityType values. + */ + public static Collection values() { + return values(ManagedServiceIdentityType.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPatchRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPatchRequest.java new file mode 100644 index 000000000000..5dad42642989 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPatchRequest.java @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The openAi services details. + */ +@Fluent +public final class OpenAiServicesForPatchRequest implements JsonSerializable { + /* + * The openAi services resource id + */ + private String resourceId; + + /* + * The user assigned identity to be used to grant permissions + */ + private String userAssignedIdentity; + + /** + * Creates an instance of OpenAiServicesForPatchRequest class. + */ + public OpenAiServicesForPatchRequest() { + } + + /** + * Get the resourceId property: The openAi services resource id. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set the resourceId property: The openAi services resource id. + * + * @param resourceId the resourceId value to set. + * @return the OpenAiServicesForPatchRequest object itself. + */ + public OpenAiServicesForPatchRequest withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @return the userAssignedIdentity value. + */ + public String userAssignedIdentity() { + return this.userAssignedIdentity; + } + + /** + * Set the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @param userAssignedIdentity the userAssignedIdentity value to set. + * @return the OpenAiServicesForPatchRequest object itself. + */ + public OpenAiServicesForPatchRequest withUserAssignedIdentity(String userAssignedIdentity) { + this.userAssignedIdentity = userAssignedIdentity; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("resourceId", this.resourceId); + jsonWriter.writeStringField("userAssignedIdentity", this.userAssignedIdentity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OpenAiServicesForPatchRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OpenAiServicesForPatchRequest 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 OpenAiServicesForPatchRequest. + */ + public static OpenAiServicesForPatchRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OpenAiServicesForPatchRequest deserializedOpenAiServicesForPatchRequest + = new OpenAiServicesForPatchRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("resourceId".equals(fieldName)) { + deserializedOpenAiServicesForPatchRequest.resourceId = reader.getString(); + } else if ("userAssignedIdentity".equals(fieldName)) { + deserializedOpenAiServicesForPatchRequest.userAssignedIdentity = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedOpenAiServicesForPatchRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPutRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPutRequest.java new file mode 100644 index 000000000000..662e3009f86f --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OpenAiServicesForPutRequest.java @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The openAi services details. + */ +@Fluent +public final class OpenAiServicesForPutRequest implements JsonSerializable { + /* + * The openAi services resource id + */ + private String resourceId; + + /* + * The user assigned identity to be used to grant permissions + */ + private String userAssignedIdentity; + + /** + * Creates an instance of OpenAiServicesForPutRequest class. + */ + public OpenAiServicesForPutRequest() { + } + + /** + * Get the resourceId property: The openAi services resource id. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set the resourceId property: The openAi services resource id. + * + * @param resourceId the resourceId value to set. + * @return the OpenAiServicesForPutRequest object itself. + */ + public OpenAiServicesForPutRequest withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @return the userAssignedIdentity value. + */ + public String userAssignedIdentity() { + return this.userAssignedIdentity; + } + + /** + * Set the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @param userAssignedIdentity the userAssignedIdentity value to set. + * @return the OpenAiServicesForPutRequest object itself. + */ + public OpenAiServicesForPutRequest withUserAssignedIdentity(String userAssignedIdentity) { + this.userAssignedIdentity = userAssignedIdentity; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("resourceId", this.resourceId); + jsonWriter.writeStringField("userAssignedIdentity", this.userAssignedIdentity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OpenAiServicesForPutRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OpenAiServicesForPutRequest 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 OpenAiServicesForPutRequest. + */ + public static OpenAiServicesForPutRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OpenAiServicesForPutRequest deserializedOpenAiServicesForPutRequest = new OpenAiServicesForPutRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("resourceId".equals(fieldName)) { + deserializedOpenAiServicesForPutRequest.resourceId = reader.getString(); + } else if ("userAssignedIdentity".equals(fieldName)) { + deserializedOpenAiServicesForPutRequest.userAssignedIdentity = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedOpenAiServicesForPutRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operation.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operation.java new file mode 100644 index 000000000000..5ffab19282ae --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operation.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.resourcemanager.vi.fluent.models.OperationInner; + +/** + * An immutable client-side representation of Operation. + */ +public interface Operation { + /** + * Gets the name property: Name of the operation. + * + * @return the name value. + */ + String name(); + + /** + * Gets the isDataAction property: Indicates whether the operation is a data action. + * + * @return the isDataAction value. + */ + Boolean isDataAction(); + + /** + * Gets the actionType property: Indicates the action type. + * + * @return the actionType value. + */ + String actionType(); + + /** + * Gets the display property: Display of the operation. + * + * @return the display value. + */ + OperationDisplay display(); + + /** + * Gets the origin property: Origin of the operation. + * + * @return the origin value. + */ + String origin(); + + /** + * Gets the inner com.azure.resourcemanager.vi.fluent.models.OperationInner object. + * + * @return the inner object. + */ + OperationInner innerModel(); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationDisplay.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationDisplay.java new file mode 100644 index 000000000000..13efabea09c3 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationDisplay.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +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; + +/** + * Operation display payload. + */ +@Immutable +public final class OperationDisplay implements JsonSerializable { + /* + * Resource provider of the operation + */ + private String provider; + + /* + * Resource of the operation + */ + private String resource; + + /* + * Localized friendly name for the operation + */ + private String operation; + + /* + * Localized friendly description for the operation + */ + private String description; + + /** + * Creates an instance of OperationDisplay class. + */ + public OperationDisplay() { + } + + /** + * Get the provider property: Resource provider of the operation. + * + * @return the provider value. + */ + public String provider() { + return this.provider; + } + + /** + * Get the resource property: Resource of the operation. + * + * @return the resource value. + */ + public String resource() { + return this.resource; + } + + /** + * Get the operation property: Localized friendly name for the operation. + * + * @return the operation value. + */ + public String operation() { + return this.operation; + } + + /** + * Get the description property: Localized friendly description for the operation. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OperationDisplay from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OperationDisplay 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 OperationDisplay. + */ + public static OperationDisplay fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OperationDisplay deserializedOperationDisplay = new OperationDisplay(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("provider".equals(fieldName)) { + deserializedOperationDisplay.provider = reader.getString(); + } else if ("resource".equals(fieldName)) { + deserializedOperationDisplay.resource = reader.getString(); + } else if ("operation".equals(fieldName)) { + deserializedOperationDisplay.operation = reader.getString(); + } else if ("description".equals(fieldName)) { + deserializedOperationDisplay.description = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedOperationDisplay; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationListResult.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationListResult.java new file mode 100644 index 000000000000..da5005eb328e --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/OperationListResult.java @@ -0,0 +1,103 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +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 com.azure.resourcemanager.vi.fluent.models.OperationInner; +import java.io.IOException; +import java.util.List; + +/** + * Available operations of the service. + */ +@Immutable +public final class OperationListResult implements JsonSerializable { + /* + * List of operations supported by the Resource Provider. + */ + private List value; + + /* + * URL to get the next set of operation list results if there are any. + */ + private String nextLink; + + /** + * Creates an instance of OperationListResult class. + */ + public OperationListResult() { + } + + /** + * Get the value property: List of operations supported by the Resource Provider. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Get the nextLink property: URL to get the next set of operation list results if there are any. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OperationListResult from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OperationListResult 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 OperationListResult. + */ + public static OperationListResult fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OperationListResult deserializedOperationListResult = new OperationListResult(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("value".equals(fieldName)) { + List value = reader.readArray(reader1 -> OperationInner.fromJson(reader1)); + deserializedOperationListResult.value = value; + } else if ("nextLink".equals(fieldName)) { + deserializedOperationListResult.nextLink = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedOperationListResult; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operations.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operations.java new file mode 100644 index 000000000000..a662c482511a --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Operations.java @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** + * Resource collection API of Operations. + */ +public interface Operations { + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Lists all of the available Azure Video Indexer provider operations. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return available operations of the service as paginated response with {@link PagedIterable}. + */ + PagedIterable list(Context context); +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/PermissionType.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/PermissionType.java new file mode 100644 index 000000000000..67fb9bcac309 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/PermissionType.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The requested permission. + */ +public final class PermissionType extends ExpandableStringEnum { + /** + * Static value Contributor for PermissionType. + */ + public static final PermissionType CONTRIBUTOR = fromString("Contributor"); + + /** + * Static value Reader for PermissionType. + */ + public static final PermissionType READER = fromString("Reader"); + + /** + * Creates a new instance of PermissionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public PermissionType() { + } + + /** + * Creates or finds a PermissionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding PermissionType. + */ + public static PermissionType fromString(String name) { + return fromString(name, PermissionType.class); + } + + /** + * Gets known PermissionType values. + * + * @return known PermissionType values. + */ + public static Collection values() { + return values(PermissionType.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ProvisioningState.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ProvisioningState.java new file mode 100644 index 000000000000..36bff363a89a --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/ProvisioningState.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Gets the status of the account at the time the operation was called. + */ +public final class ProvisioningState extends ExpandableStringEnum { + /** + * Static value Succeeded for ProvisioningState. + */ + public static final ProvisioningState SUCCEEDED = fromString("Succeeded"); + + /** + * Static value Failed for ProvisioningState. + */ + public static final ProvisioningState FAILED = fromString("Failed"); + + /** + * Static value Canceled for ProvisioningState. + */ + public static final ProvisioningState CANCELED = fromString("Canceled"); + + /** + * Static value Accepted for ProvisioningState. + */ + public static final ProvisioningState ACCEPTED = fromString("Accepted"); + + /** + * Static value Provisioning for ProvisioningState. + */ + public static final ProvisioningState PROVISIONING = fromString("Provisioning"); + + /** + * Static value Deleting for ProvisioningState. + */ + public static final ProvisioningState DELETING = fromString("Deleting"); + + /** + * Creates a new instance of ProvisioningState value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public ProvisioningState() { + } + + /** + * Creates or finds a ProvisioningState from its string representation. + * + * @param name a name to look for. + * @return the corresponding ProvisioningState. + */ + public static ProvisioningState fromString(String name) { + return fromString(name, ProvisioningState.class); + } + + /** + * Gets known ProvisioningState values. + * + * @return known ProvisioningState values. + */ + public static Collection values() { + return values(ProvisioningState.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Reason.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Reason.java new file mode 100644 index 000000000000..bd6d77da941f --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Reason.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if + * NameAvailable is false. + */ +public final class Reason extends ExpandableStringEnum { + /** + * Static value AlreadyExists for Reason. + */ + public static final Reason ALREADY_EXISTS = fromString("AlreadyExists"); + + /** + * Creates a new instance of Reason value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public Reason() { + } + + /** + * Creates or finds a Reason from its string representation. + * + * @param name a name to look for. + * @return the corresponding Reason. + */ + public static Reason fromString(String name) { + return fromString(name, Reason.class); + } + + /** + * Gets known Reason values. + * + * @return known Reason values. + */ + public static Collection values() { + return values(Reason.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Scope.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Scope.java new file mode 100644 index 000000000000..618b56cb58a9 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Scope.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The requested media type. + */ +public final class Scope extends ExpandableStringEnum { + /** + * Static value Video for Scope. + */ + public static final Scope VIDEO = fromString("Video"); + + /** + * Static value Account for Scope. + */ + public static final Scope ACCOUNT = fromString("Account"); + + /** + * Static value Project for Scope. + */ + public static final Scope PROJECT = fromString("Project"); + + /** + * Creates a new instance of Scope value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public Scope() { + } + + /** + * Creates or finds a Scope from its string representation. + * + * @param name a name to look for. + * @return the corresponding Scope. + */ + public static Scope fromString(String name) { + return fromString(name, Scope.class); + } + + /** + * Gets known Scope values. + * + * @return known Scope values. + */ + public static Collection values() { + return values(Scope.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPatchRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPatchRequest.java new file mode 100644 index 000000000000..5f50cac9b89b --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPatchRequest.java @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The storage services details. + */ +@Fluent +public final class StorageServicesForPatchRequest implements JsonSerializable { + /* + * The user assigned identity to be used to grant permissions + */ + private String userAssignedIdentity; + + /** + * Creates an instance of StorageServicesForPatchRequest class. + */ + public StorageServicesForPatchRequest() { + } + + /** + * Get the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @return the userAssignedIdentity value. + */ + public String userAssignedIdentity() { + return this.userAssignedIdentity; + } + + /** + * Set the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @param userAssignedIdentity the userAssignedIdentity value to set. + * @return the StorageServicesForPatchRequest object itself. + */ + public StorageServicesForPatchRequest withUserAssignedIdentity(String userAssignedIdentity) { + this.userAssignedIdentity = userAssignedIdentity; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("userAssignedIdentity", this.userAssignedIdentity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StorageServicesForPatchRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StorageServicesForPatchRequest 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 StorageServicesForPatchRequest. + */ + public static StorageServicesForPatchRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StorageServicesForPatchRequest deserializedStorageServicesForPatchRequest + = new StorageServicesForPatchRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("userAssignedIdentity".equals(fieldName)) { + deserializedStorageServicesForPatchRequest.userAssignedIdentity = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedStorageServicesForPatchRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPutRequest.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPutRequest.java new file mode 100644 index 000000000000..2df65d5f9e84 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/StorageServicesForPutRequest.java @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The storage services details. + */ +@Fluent +public final class StorageServicesForPutRequest implements JsonSerializable { + /* + * The storage services resource id + */ + private String resourceId; + + /* + * The user assigned identity to be used to grant permissions + */ + private String userAssignedIdentity; + + /** + * Creates an instance of StorageServicesForPutRequest class. + */ + public StorageServicesForPutRequest() { + } + + /** + * Get the resourceId property: The storage services resource id. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Set the resourceId property: The storage services resource id. + * + * @param resourceId the resourceId value to set. + * @return the StorageServicesForPutRequest object itself. + */ + public StorageServicesForPutRequest withResourceId(String resourceId) { + this.resourceId = resourceId; + return this; + } + + /** + * Get the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @return the userAssignedIdentity value. + */ + public String userAssignedIdentity() { + return this.userAssignedIdentity; + } + + /** + * Set the userAssignedIdentity property: The user assigned identity to be used to grant permissions. + * + * @param userAssignedIdentity the userAssignedIdentity value to set. + * @return the StorageServicesForPutRequest object itself. + */ + public StorageServicesForPutRequest withUserAssignedIdentity(String userAssignedIdentity) { + this.userAssignedIdentity = userAssignedIdentity; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("resourceId", this.resourceId); + jsonWriter.writeStringField("userAssignedIdentity", this.userAssignedIdentity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of StorageServicesForPutRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of StorageServicesForPutRequest 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 StorageServicesForPutRequest. + */ + public static StorageServicesForPutRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + StorageServicesForPutRequest deserializedStorageServicesForPutRequest = new StorageServicesForPutRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("resourceId".equals(fieldName)) { + deserializedStorageServicesForPutRequest.resourceId = reader.getString(); + } else if ("userAssignedIdentity".equals(fieldName)) { + deserializedStorageServicesForPutRequest.userAssignedIdentity = reader.getString(); + } else { + reader.skipChildren(); + } + } + + return deserializedStorageServicesForPutRequest; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Tags.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Tags.java new file mode 100644 index 000000000000..4073e7c36efb --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Tags.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.annotation.Fluent; +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; + +/** + * Resource tags. + */ +@Fluent +public class Tags implements JsonSerializable { + /* + * Resource tags + */ + private Map tags; + + /** + * Creates an instance of Tags class. + */ + public Tags() { + } + + /** + * Get the tags property: Resource tags. + * + * @return the tags value. + */ + public Map tags() { + return this.tags; + } + + /** + * Set the tags property: Resource tags. + * + * @param tags the tags value to set. + * @return the Tags object itself. + */ + public Tags withTags(Map tags) { + this.tags = tags; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Tags from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Tags 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 Tags. + */ + public static Tags fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Tags deserializedTags = new Tags(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("tags".equals(fieldName)) { + Map tags = reader.readMap(reader1 -> reader1.getString()); + deserializedTags.tags = tags; + } else { + reader.skipChildren(); + } + } + + return deserializedTags; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Type.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Type.java new file mode 100644 index 000000000000..4e9c5dff644c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/Type.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The type of resource, Microsoft.VideoIndexer/accounts. + */ +public final class Type extends ExpandableStringEnum { + /** + * Static value Microsoft.VideoIndexer/accounts for Type. + */ + public static final Type MICROSOFT_VIDEO_INDEXER_ACCOUNTS = fromString("Microsoft.VideoIndexer/accounts"); + + /** + * Creates a new instance of Type value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public Type() { + } + + /** + * Creates or finds a Type from its string representation. + * + * @param name a name to look for. + * @return the corresponding Type. + */ + public static Type fromString(String name) { + return fromString(name, Type.class); + } + + /** + * Gets known Type values. + * + * @return known Type values. + */ + public static Collection values() { + return values(Type.class); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/UserAssignedIdentity.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/UserAssignedIdentity.java new file mode 100644 index 000000000000..6bea53eed1ee --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/UserAssignedIdentity.java @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.models; + +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.UUID; + +/** + * User assigned identity properties. + */ +@Immutable +public final class UserAssignedIdentity implements JsonSerializable { + /* + * The principal ID of the assigned identity. + */ + private UUID principalId; + + /* + * The client ID of the assigned identity. + */ + private UUID clientId; + + /** + * Creates an instance of UserAssignedIdentity class. + */ + public UserAssignedIdentity() { + } + + /** + * Get the principalId property: The principal ID of the assigned identity. + * + * @return the principalId value. + */ + public UUID principalId() { + return this.principalId; + } + + /** + * Get the clientId property: The client ID of the assigned identity. + * + * @return the clientId value. + */ + public UUID clientId() { + return this.clientId; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of UserAssignedIdentity from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of UserAssignedIdentity 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 UserAssignedIdentity. + */ + public static UserAssignedIdentity fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + UserAssignedIdentity deserializedUserAssignedIdentity = new UserAssignedIdentity(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("principalId".equals(fieldName)) { + deserializedUserAssignedIdentity.principalId + = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString())); + } else if ("clientId".equals(fieldName)) { + deserializedUserAssignedIdentity.clientId + = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString())); + } else { + reader.skipChildren(); + } + } + + return deserializedUserAssignedIdentity; + }); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/package-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/package-info.java new file mode 100644 index 000000000000..b08f8f04831a --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/models/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the data models for ViManagementClient. + * Microsoft Azure Video Indexer. + */ +package com.azure.resourcemanager.vi.models; diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/package-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/package-info.java new file mode 100644 index 000000000000..1c7d91a2dd8c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/com/azure/resourcemanager/vi/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the classes for ViManagementClient. + * Microsoft Azure Video Indexer. + */ +package com.azure.resourcemanager.vi; diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/java/module-info.java b/sdk/vi/azure-resourcemanager-vi/src/main/java/module-info.java new file mode 100644 index 000000000000..1694fe2030e5 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/java/module-info.java @@ -0,0 +1,15 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +module com.azure.resourcemanager.vi { + requires transitive com.azure.core.management; + + exports com.azure.resourcemanager.vi; + exports com.azure.resourcemanager.vi.fluent; + exports com.azure.resourcemanager.vi.fluent.models; + exports com.azure.resourcemanager.vi.models; + + opens com.azure.resourcemanager.vi.fluent.models to com.azure.core; + opens com.azure.resourcemanager.vi.models to com.azure.core; +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/proxy-config.json b/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/proxy-config.json new file mode 100644 index 000000000000..7e84c2ece952 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/proxy-config.json @@ -0,0 +1 @@ +[["com.azure.resourcemanager.vi.implementation.AccountsClientImpl$AccountsService"],["com.azure.resourcemanager.vi.implementation.GeneratesClientImpl$GeneratesService"],["com.azure.resourcemanager.vi.implementation.OperationsClientImpl$OperationsService"]] \ No newline at end of file diff --git a/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/reflect-config.json b/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/reflect-config.json new file mode 100644 index 000000000000..0637a088a01e --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/main/resources/META-INF/native-image/com.azure.resourcemanager/azure-resourcemanager-vi/reflect-config.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCheckNameAvailabilitySamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCheckNameAvailabilitySamples.java new file mode 100644 index 000000000000..9fc095b21263 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCheckNameAvailabilitySamples.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +import com.azure.resourcemanager.vi.models.AccountCheckNameAvailabilityParameters; +import com.azure.resourcemanager.vi.models.Type; + +/** + * Samples for Accounts CheckNameAvailability. + */ +public final class AccountsCheckNameAvailabilitySamples { + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViAccountCheckNameAvailabilityFree.json + */ + /** + * Sample code: Check free account name availability. + * + * @param manager Entry point to ViManager. + */ + public static void checkFreeAccountNameAvailability(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .checkNameAvailabilityWithResponse(new AccountCheckNameAvailabilityParameters().withName("vi1") + .withType(Type.MICROSOFT_VIDEO_INDEXER_ACCOUNTS), com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViAccountCheckNameAvailabilityTaken.json + */ + /** + * Sample code: Check taken account name availability. + * + * @param manager Entry point to ViManager. + */ + public static void checkTakenAccountNameAvailability(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .checkNameAvailabilityWithResponse(new AccountCheckNameAvailabilityParameters().withName("vi1") + .withType(Type.MICROSOFT_VIDEO_INDEXER_ACCOUNTS), com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCreateOrUpdateSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCreateOrUpdateSamples.java new file mode 100644 index 000000000000..1c3bdc483f1f --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsCreateOrUpdateSamples.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentityType; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPutRequest; +import com.azure.resourcemanager.vi.models.StorageServicesForPutRequest; +import com.azure.resourcemanager.vi.models.UserAssignedIdentity; +import java.util.HashMap; +import java.util.Map; + +/** + * Samples for Accounts CreateOrUpdate. + */ +public final class AccountsCreateOrUpdateSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json + */ + /** + * Sample code: Connect classic account to arm account using system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void + connectClassicAccountToArmAccountUsingSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withAccountId("462af7c5-d1f6-4b91-86e3-8bc5e8a61574") + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * ConnectClassicAccountToArmAccountUsingUserAssignedMi.json + */ + /** + * Sample code: Connect classic account to arm account using user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void + connectClassicAccountToArmAccountUsingUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity()))) + .withAccountId("462af7c5-d1f6-4b91-86e3-8bc5e8a61574") + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * CreateOrUpdateAccountWithUserAssignedMi.json + */ + /** + * Sample code: Create or update account with user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void createOrUpdateAccountWithUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity(), + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2", + new UserAssignedIdentity()))) + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .withOpenAiServices(new OpenAiServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2")) + .create(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPut/ + * CreateOrUpdateAccountWithSystemAssignedMi.json + */ + /** + * Sample code: Create or update account with system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void createOrUpdateAccountWithSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .define("contosto-videoanalyzer") + .withRegion("NorthEurope") + .withExistingResourceGroup("contosto-videoanalyzer-rg") + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withStorageServices(new StorageServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoanalyzer-ms")) + .withOpenAiServices(new OpenAiServicesForPutRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms")) + .create(); + } + + // Use "Map.of" if available + @SuppressWarnings("unchecked") + private static Map mapOf(Object... inputs) { + Map 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; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsDeleteSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsDeleteSamples.java new file mode 100644 index 000000000000..127cc11ba03a --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsDeleteSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +/** + * Samples for Accounts Delete. + */ +public final class AccountsDeleteSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountDelete.json + */ + /** + * Sample code: Delete account. + * + * @param manager Entry point to ViManager. + */ + public static void deleteAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .deleteByResourceGroupWithResponse("contoso-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsGetByResourceGroupSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsGetByResourceGroupSamples.java new file mode 100644 index 000000000000..dd2ebf28935b --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsGetByResourceGroupSamples.java @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +/** + * Samples for Accounts GetByResourceGroup. + */ +public final class AccountsGetByResourceGroupSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountGet.json + */ + /** + * Sample code: Get account. + * + * @param manager Entry point to ViManager. + */ + public static void getAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts() + .getByResourceGroupWithResponse("contoso-rg", "contosto-videoanalyzer", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListByResourceGroupSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListByResourceGroupSamples.java new file mode 100644 index 000000000000..47a6096bb129 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListByResourceGroupSamples.java @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +/** + * Samples for Accounts ListByResourceGroup. + */ +public final class AccountsListByResourceGroupSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountsListByResourceGroup + * .json + */ + /** + * Sample code: List accounts by resource group. + * + * @param manager Entry point to ViManager. + */ + public static void listAccountsByResourceGroup(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts().listByResourceGroup("contoso-videoanalyzer-rg", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListSamples.java new file mode 100644 index 000000000000..8b98dae874c6 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +/** + * Samples for Accounts List. + */ +public final class AccountsListSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountsList.json + */ + /** + * Sample code: List accounts. + * + * @param manager Entry point to ViManager. + */ + public static void listAccounts(com.azure.resourcemanager.vi.ViManager manager) { + manager.accounts().list(com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsUpdateSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsUpdateSamples.java new file mode 100644 index 000000000000..21a90210ac4c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/AccountsUpdateSamples.java @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +import com.azure.resourcemanager.vi.models.Account; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentity; +import com.azure.resourcemanager.vi.models.ManagedServiceIdentityType; +import com.azure.resourcemanager.vi.models.OpenAiServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.StorageServicesForPatchRequest; +import com.azure.resourcemanager.vi.models.UserAssignedIdentity; +import java.util.HashMap; +import java.util.Map; + +/** + * Samples for Accounts Update. + */ +public final class AccountsUpdateSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPatch/ + * PatchAccountWithUserAssignedMi.json + */ + /** + * Sample code: Patch account with user assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void patchAccountWithUserAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + Account resource = manager.accounts() + .getByResourceGroupWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE) + .getValue(); + resource.update() + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.USER_ASSIGNED) + .withUserAssignedIdentities(mapOf( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi", + new UserAssignedIdentity(), + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2", + new UserAssignedIdentity()))) + .withStorageServices(new StorageServicesForPatchRequest().withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi")) + .withOpenAiServices(new OpenAiServicesForPatchRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms") + .withUserAssignedIdentity( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoanalyzer-mi2")) + .apply(); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViAccountPatch/ + * PatchAccountWithSystemAssignedMi.json + */ + /** + * Sample code: Patch account with system assigned Mi. + * + * @param manager Entry point to ViManager. + */ + public static void patchAccountWithSystemAssignedMi(com.azure.resourcemanager.vi.ViManager manager) { + Account resource = manager.accounts() + .getByResourceGroupWithResponse("contoso-videoanalyzer-rg", "contosto-videoanalyzer", + com.azure.core.util.Context.NONE) + .getValue(); + resource.update() + .withIdentity(new ManagedServiceIdentity().withType(ManagedServiceIdentityType.SYSTEM_ASSIGNED)) + .withStorageServices(new StorageServicesForPatchRequest()) + .withOpenAiServices(new OpenAiServicesForPatchRequest().withResourceId( + "/subscriptions/xxx/resourceGroups/contoso-videoanalyzer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms")) + .apply(); + } + + // Use "Map.of" if available + @SuppressWarnings("unchecked") + private static Map mapOf(Object... inputs) { + Map 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; + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateAccessTokenSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateAccessTokenSamples.java new file mode 100644 index 000000000000..ff035954b221 --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateAccessTokenSamples.java @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +import com.azure.resourcemanager.vi.models.GenerateAccessTokenParameters; +import com.azure.resourcemanager.vi.models.PermissionType; +import com.azure.resourcemanager.vi.models.Scope; + +/** + * Samples for Generate AccessToken. + */ +public final class GenerateAccessTokenSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateProjectContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for project contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForProjectContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateProjectReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for project reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForProjectReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER) + .withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateAccountContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for account contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForAccountContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateAccountReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for account reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForAccountReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER).withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateVideoContributerAccessToken.json + */ + /** + * Sample code: Generate accessToken for video contributor. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForVideoContributor(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.CONTRIBUTOR) + .withScope(Scope.VIDEO) + .withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViGenerateAccessToken/ + * ViGenerateVideoReaderAccessToken.json + */ + /** + * Sample code: Generate accessToken for video reader. + * + * @param manager Entry point to ViManager. + */ + public static void generateAccessTokenForVideoReader(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .accessTokenWithResponse("contosto-videoanalyzer-rg", "contosto-videoanalyzer", + new GenerateAccessTokenParameters().withPermissionType(PermissionType.READER) + .withScope(Scope.VIDEO) + .withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateRestrictedViewerAccessTokenSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateRestrictedViewerAccessTokenSamples.java new file mode 100644 index 000000000000..71855f75204b --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/GenerateRestrictedViewerAccessTokenSamples.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +import com.azure.resourcemanager.vi.models.GenerateRestrictedViewerAccessTokenParameters; +import com.azure.resourcemanager.vi.models.Scope; + +/** + * Samples for Generate RestrictedViewerAccessToken. + */ +public final class GenerateRestrictedViewerAccessTokenSamples { + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for video. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForVideo(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.VIDEO).withVideoId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for account. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForAccount(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.ACCOUNT), + com.azure.core.util.Context.NONE); + } + + /* + * x-ms-original-file: specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ + * ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json + */ + /** + * Sample code: Generate restricted viewer accessToken for project. + * + * @param manager Entry point to ViManager. + */ + public static void generateRestrictedViewerAccessTokenForProject(com.azure.resourcemanager.vi.ViManager manager) { + manager.generates() + .restrictedViewerAccessTokenWithResponse("contosto-azurevideoindexer-rg", "contosto-azurevideoindexer", + new GenerateRestrictedViewerAccessTokenParameters().withScope(Scope.PROJECT) + .withProjectId("07ec9e38d4"), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/OperationsListSamples.java b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/OperationsListSamples.java new file mode 100644 index 000000000000..c65da531138c --- /dev/null +++ b/sdk/vi/azure-resourcemanager-vi/src/samples/java/com/azure/resourcemanager/vi/generated/OperationsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.vi.generated; + +/** + * Samples for Operations List. + */ +public final class OperationsListSamples { + /* + * x-ms-original-file: + * specification/vi/resource-manager/Microsoft.VideoIndexer/stable/2025-01-01/examples/ViOperationsList.json + */ + /** + * Sample code: List operations. + * + * @param manager Entry point to ViManager. + */ + public static void listOperations(com.azure.resourcemanager.vi.ViManager manager) { + manager.operations().list(com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/vi/ci.yml b/sdk/vi/ci.yml new file mode 100644 index 000000000000..c4e596b9b67c --- /dev/null +++ b/sdk/vi/ci.yml @@ -0,0 +1,46 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/vi/ci.yml + - sdk/vi/azure-resourcemanager-vi/ + exclude: + - sdk/vi/pom.xml + - sdk/vi/azure-resourcemanager-vi/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/vi/ci.yml + - sdk/vi/azure-resourcemanager-vi/ + exclude: + - sdk/vi/pom.xml + - sdk/vi/azure-resourcemanager-vi/pom.xml + +parameters: + - name: release_azureresourcemanagervi + displayName: azure-resourcemanager-vi + type: boolean + default: false + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: vi + Artifacts: + - name: azure-resourcemanager-vi + groupId: com.azure.resourcemanager + safeName: azureresourcemanagervi + releaseInBatch: ${{ parameters.release_azureresourcemanagervi }} diff --git a/sdk/vi/pom.xml b/sdk/vi/pom.xml new file mode 100644 index 000000000000..eb34cf36c834 --- /dev/null +++ b/sdk/vi/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + com.azure + azure-vi-service + pom + 1.0.0 + + + azure-resourcemanager-vi + +