diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 62981efe50e1c..3e05a94b13b05 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -412,6 +412,7 @@ com.azure.resourcemanager:azure-resourcemanager-newrelicobservability;1.0.0;1.1. com.azure.resourcemanager:azure-resourcemanager-qumulo;1.0.0;1.1.0-beta.1 com.azure.resourcemanager:azure-resourcemanager-selfhelp;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-networkcloud;1.0.0-beta.1;1.0.0-beta.2 +com.azure.resourcemanager:azure-resourcemanager-authorization-generated;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-beta.1;1.0.0-beta.2 diff --git a/pom.xml b/pom.xml index b839c84e1c62f..59ab186723e68 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ sdk/appcontainers sdk/applicationinsights sdk/attestation + sdk/authorization sdk/automanage sdk/automation sdk/avs diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md new file mode 100644 index 0000000000000..c4305b6d12453 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0-beta.1 (2023-05-30) + +- Azure Resource Manager Authorization client library for Java. This package contains Microsoft Azure SDK for Authorization Management SDK. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2021-12-01-preview-only. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/README.md b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md new file mode 100644 index 0000000000000..48742d94a2b72 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md @@ -0,0 +1,105 @@ +# Azure Resource Manager Authorization client library for Java + +Azure Resource Manager Authorization client library for Java. + +This package contains Microsoft Azure SDK for Authorization Management SDK. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2021-12-01-preview-only. 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-authorization-generated;current}) +```xml + + com.azure.resourcemanager + azure-resourcemanager-authorization-generated + 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 + +By default, Azure Active Directory token authentication depends on correct configuration of the following environment variables. + +- `AZURE_CLIENT_ID` for Azure client ID. +- `AZURE_TENANT_ID` for Azure tenant ID. +- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate. + +In addition, Azure subscription ID can be configured via `AZURE_SUBSCRIPTION_ID` environment variable. + +With above configuration, `azure` client can be authenticated using the following code: + +```java +AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE); +TokenCredential credential = new DefaultAzureCredentialBuilder() + .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()) + .build(); +AuthorizationManager manager = AuthorizationManager + .authenticate(credential, profile); +``` + +The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise. + +See [Authentication][authenticate] for more options. + +## Key concepts + +See [API design][design] for general introduction on design and key concepts on Azure Management Libraries. + +## Examples + +[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/authorization/azure-resourcemanager-authorization-generated/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://docs.microsoft.com/java/azure/jdk/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity +[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty +[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md +[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md +[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/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md new file mode 100644 index 0000000000000..dc0e36235cdb3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md @@ -0,0 +1,1238 @@ +# Code snippets and samples + + +## AccessReviewInstanceMyDecisions + +- [GetById](#accessreviewinstancemydecisions_getbyid) +- [List](#accessreviewinstancemydecisions_list) +- [Patch](#accessreviewinstancemydecisions_patch) + +## AccessReviewInstanceOperation + +- [AcceptRecommendations](#accessreviewinstanceoperation_acceptrecommendations) + +## AccessReviewInstancesAssignedForMyApproval + +- [GetById](#accessreviewinstancesassignedformyapproval_getbyid) +- [List](#accessreviewinstancesassignedformyapproval_list) + +## AccessReviewScheduleDefinitionsAssignedForMyApproval + +- [List](#accessreviewscheduledefinitionsassignedformyapproval_list) + +## AlertConfigurations + +- [Get](#alertconfigurations_get) +- [ListForScope](#alertconfigurations_listforscope) +- [Update](#alertconfigurations_update) + +## AlertDefinitions + +- [Get](#alertdefinitions_get) +- [ListForScope](#alertdefinitions_listforscope) + +## AlertIncidents + +- [Get](#alertincidents_get) +- [ListForScope](#alertincidents_listforscope) +- [Remediate](#alertincidents_remediate) + +## AlertOperation + +- [Get](#alertoperation_get) + +## Alerts + +- [Get](#alerts_get) +- [ListForScope](#alerts_listforscope) +- [Refresh](#alerts_refresh) +- [RefreshAll](#alerts_refreshall) +- [Update](#alerts_update) + +## ScopeAccessReviewDefaultSettings + +- [Get](#scopeaccessreviewdefaultsettings_get) +- [Put](#scopeaccessreviewdefaultsettings_put) + +## ScopeAccessReviewHistoryDefinitionInstance + +- [GenerateDownloadUri](#scopeaccessreviewhistorydefinitioninstance_generatedownloaduri) + +## ScopeAccessReviewHistoryDefinitionInstancesOperation + +- [List](#scopeaccessreviewhistorydefinitioninstancesoperation_list) + +## ScopeAccessReviewHistoryDefinitionOperation + +- [Create](#scopeaccessreviewhistorydefinitionoperation_create) +- [DeleteById](#scopeaccessreviewhistorydefinitionoperation_deletebyid) + +## ScopeAccessReviewHistoryDefinitions + +- [GetById](#scopeaccessreviewhistorydefinitions_getbyid) +- [List](#scopeaccessreviewhistorydefinitions_list) + +## ScopeAccessReviewInstanceContactedReviewers + +- [List](#scopeaccessreviewinstancecontactedreviewers_list) + +## ScopeAccessReviewInstanceDecisions + +- [List](#scopeaccessreviewinstancedecisions_list) + +## ScopeAccessReviewInstanceOperation + +- [ApplyDecisions](#scopeaccessreviewinstanceoperation_applydecisions) +- [RecordAllDecisions](#scopeaccessreviewinstanceoperation_recordalldecisions) +- [ResetDecisions](#scopeaccessreviewinstanceoperation_resetdecisions) +- [SendReminders](#scopeaccessreviewinstanceoperation_sendreminders) +- [Stop](#scopeaccessreviewinstanceoperation_stop) + +## ScopeAccessReviewInstances + +- [Create](#scopeaccessreviewinstances_create) +- [GetById](#scopeaccessreviewinstances_getbyid) +- [List](#scopeaccessreviewinstances_list) + +## ScopeAccessReviewScheduleDefinitions + +- [CreateOrUpdateById](#scopeaccessreviewscheduledefinitions_createorupdatebyid) +- [DeleteById](#scopeaccessreviewscheduledefinitions_deletebyid) +- [GetById](#scopeaccessreviewscheduledefinitions_getbyid) +- [List](#scopeaccessreviewscheduledefinitions_list) +- [Stop](#scopeaccessreviewscheduledefinitions_stop) + +## TenantLevelAccessReviewInstanceContactedReviewers + +- [List](#tenantlevelaccessreviewinstancecontactedreviewers_list) +### AccessReviewInstanceMyDecisions_GetById + +```java +/** Samples for AccessReviewInstanceMyDecisions GetById. */ +public final class AccessReviewInstanceMyDecisionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_List + +```java +/** Samples for AccessReviewInstanceMyDecisions List. */ +public final class AccessReviewInstanceMyDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + null, + com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_Patch + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Samples for AccessReviewInstanceMyDecisions Patch. */ +public final class AccessReviewInstanceMyDecisionsPatchSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_AcceptRecommendations + +```java +/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_GetById + +```java +/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */ +public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_List + +```java +/** Samples for AccessReviewInstancesAssignedForMyApproval List. */ +public final class AccessReviewInstancesAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "assignedToMeToReview()", com.azure.core.util.Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitionsAssignedForMyApproval_List + +```java +/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitionsAssignedForMyApprovals() + .list("assignedToMeToReview()", com.azure.core.util.Context.NONE); + } +} +``` + +### AlertConfigurations_Get + +```java +/** Samples for AlertConfigurations Get. */ +public final class AlertConfigurationsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertConfigurationById.json + */ + /** + * Sample code: GetAlertConfigurationById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertConfigurationById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertConfigurations_ListForScope + +```java +/** Samples for AlertConfigurations ListForScope. */ +public final class AlertConfigurationsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertConfigurations.json + */ + /** + * Sample code: GetAlertConfigurations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertConfigurations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} +``` + +### AlertConfigurations_Update + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.models.TooManyOwnersAssignedToResourceAlertConfigurationProperties; + +/** Samples for AlertConfigurations Update. */ +public final class AlertConfigurationsUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/UpdateAlertConfiguration.json + */ + /** + * Sample code: UpdateAlertConfiguration. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void updateAlertConfiguration( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .updateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + new AlertConfigurationInner() + .withProperties( + new TooManyOwnersAssignedToResourceAlertConfigurationProperties() + .withIsEnabled(true) + .withThresholdNumberOfOwners(2)), + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertDefinitions_Get + +```java +/** Samples for AlertDefinitions Get. */ +public final class AlertDefinitionsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertDefinitionById.json + */ + /** + * Sample code: GetAlertDefinitionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertDefinitionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertDefinitions() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyPermanentOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertDefinitions_ListForScope + +```java +/** Samples for AlertDefinitions ListForScope. */ +public final class AlertDefinitionsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertDefinitions.json + */ + /** + * Sample code: GetAlertDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertDefinitions() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} +``` + +### AlertIncidents_Get + +```java +/** Samples for AlertIncidents Get. */ +public final class AlertIncidentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertIncidentById.json + */ + /** + * Sample code: GetAlertIncidentById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertIncidentById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + "5cf9ee65-d22e-4784-8b17-3de1c3b7bdcc", + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertIncidents_ListForScope + +```java +/** Samples for AlertIncidents ListForScope. */ +public final class AlertIncidentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertIncidents.json + */ + /** + * Sample code: GetAlertIncidents. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertIncidents( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .listForScope( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertIncidents_Remediate + +```java +/** Samples for AlertIncidents Remediate. */ +public final class AlertIncidentsRemediateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RemediateAlertIncident.json + */ + /** + * Sample code: RemediateAlertIncident. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void remediateAlertIncident( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .remediateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "DuplicateRoleCreated", + "0645231d-16ba-4ebf-851a-0875df4052bd", + com.azure.core.util.Context.NONE); + } +} +``` + +### AlertOperation_Get + +```java +/** Samples for AlertOperation Get. */ +public final class AlertOperationGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertOperationById.json + */ + /** + * Sample code: GetAlertOperation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertOperation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertOperations() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "{operationId}", + com.azure.core.util.Context.NONE); + } +} +``` + +### Alerts_Get + +```java +/** Samples for Alerts Get. */ +public final class AlertsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertById.json + */ + /** + * Sample code: GetAlertById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertById(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} +``` + +### Alerts_ListForScope + +```java +/** Samples for Alerts ListForScope. */ +public final class AlertsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlerts.json + */ + /** + * Sample code: GetAlerts. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlerts(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} +``` + +### Alerts_Refresh + +```java +/** Samples for Alerts Refresh. */ +public final class AlertsRefreshSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RefreshAlert.json + */ + /** + * Sample code: RefreshAlert. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void refreshAlert(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .refresh( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "AzureRolesAssignedOutsidePimAlert", + com.azure.core.util.Context.NONE); + } +} +``` + +### Alerts_RefreshAll + +```java +/** Samples for Alerts RefreshAll. */ +public final class AlertsRefreshAllSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RefreshAllAlerts.json + */ + /** + * Sample code: RefreshAllAlerts. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void refreshAllAlerts( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .refreshAll("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} +``` + +### Alerts_Update + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; + +/** Samples for Alerts Update. */ +public final class AlertsUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/UpdateAlert.json + */ + /** + * Sample code: DeactivateAlert. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deactivateAlert(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .updateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyPermanentOwnersAssignedToResource", + new AlertInner().withIsActive(false), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewDefaultSettings_Get + +```java +/** Samples for ScopeAccessReviewDefaultSettings Get. */ +public final class ScopeAccessReviewDefaultSettingsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewDefaultSettings() + .getWithResponse("subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewDefaultSettings_Put + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Samples for ScopeAccessReviewDefaultSettings Put. */ +public final class ScopeAccessReviewDefaultSettingsPutSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewDefaultSettings() + .putWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewScheduleSettings(), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitionInstance_GenerateDownloadUri + +```java +/** Samples for ScopeAccessReviewHistoryDefinitionInstance GenerateDownloadUri. */ +public final class ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PostAccessReviewHistoryDefinitionInstance.json + */ + /** + * Sample code: PostAccessReviewHistoryDefinitionInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void postAccessReviewHistoryDefinitionInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionInstances() + .generateDownloadUriWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + "9038f4f3-3d8d-43c3-8ede-669ea082c43b", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitionInstancesOperation_List + +```java +/** Samples for ScopeAccessReviewHistoryDefinitionInstancesOperation List. */ +public final class ScopeAccessReviewHistoryDefinitionInstancesOperationListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinitionInstances.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinitionInstances. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinitionInstances( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionInstancesOperations() + .list( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitionOperation_Create + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; + +/** Samples for ScopeAccessReviewHistoryDefinitionOperation Create. */ +public final class ScopeAccessReviewHistoryDefinitionOperationCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewHistoryDefinition.json + */ + /** + * Sample code: PutAccessReviewHistoryDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReviewHistoryDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionOperations() + .createWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + new AccessReviewHistoryDefinitionProperties(), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitionOperation_DeleteById + +```java +/** Samples for ScopeAccessReviewHistoryDefinitionOperation DeleteById. */ +public final class ScopeAccessReviewHistoryDefinitionOperationDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/DeleteAccessReviewHistoryDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionOperations() + .deleteByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitions_GetById + +```java +/** Samples for ScopeAccessReviewHistoryDefinitions GetById. */ +public final class ScopeAccessReviewHistoryDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinition.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitions() + .getByIdWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewHistoryDefinitions_List + +```java +/** Samples for ScopeAccessReviewHistoryDefinitions List. */ +public final class ScopeAccessReviewHistoryDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinitions.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitions() + .list("subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", null, com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceContactedReviewers_List + +```java +/** Samples for ScopeAccessReviewInstanceContactedReviewers List. */ +public final class ScopeAccessReviewInstanceContactedReviewersListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceContactedReviewers.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceContactedReviewers() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceDecisions_List + +```java +/** Samples for ScopeAccessReviewInstanceDecisions List. */ +public final class ScopeAccessReviewInstanceDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceDecisions() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + null, + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceOperation_ApplyDecisions + +```java +/** Samples for ScopeAccessReviewInstanceOperation ApplyDecisions. */ +public final class ScopeAccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .applyDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceOperation_RecordAllDecisions + +```java +import com.azure.resourcemanager.authorization.generated.models.RecordAllDecisionsProperties; + +/** Samples for ScopeAccessReviewInstanceOperation RecordAllDecisions. */ +public final class ScopeAccessReviewInstanceOperationRecordAllDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceRecordAllDecisions.json + */ + /** + * Sample code: AccessReviewInstanceRecordAllDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceRecordAllDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .recordAllDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + new RecordAllDecisionsProperties(), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceOperation_ResetDecisions + +```java +/** Samples for ScopeAccessReviewInstanceOperation ResetDecisions. */ +public final class ScopeAccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .resetDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceOperation_SendReminders + +```java +/** Samples for ScopeAccessReviewInstanceOperation SendReminders. */ +public final class ScopeAccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .sendRemindersWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstanceOperation_Stop + +```java +/** Samples for ScopeAccessReviewInstanceOperation Stop. */ +public final class ScopeAccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .stopWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstances_Create + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; + +/** Samples for ScopeAccessReviewInstances Create. */ +public final class ScopeAccessReviewInstancesCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .createWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "4135f961-be78-4005-8101-c72a5af307a2", + new AccessReviewInstanceProperties(), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstances_GetById + +```java +/** Samples for ScopeAccessReviewInstances GetById. */ +public final class ScopeAccessReviewInstancesGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .getByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "4135f961-be78-4005-8101-c72a5af307a2", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewInstances_List + +```java +/** Samples for ScopeAccessReviewInstances List. */ +public final class ScopeAccessReviewInstancesListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + null, + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewScheduleDefinitions_CreateOrUpdateById + +```java +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** Samples for ScopeAccessReviewScheduleDefinitions CreateOrUpdateById. */ +public final class ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewScheduleDefinitionProperties(), + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewScheduleDefinitions_DeleteById + +```java +/** Samples for ScopeAccessReviewScheduleDefinitions DeleteById. */ +public final class ScopeAccessReviewScheduleDefinitionsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .deleteByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewScheduleDefinitions_GetById + +```java +/** Samples for ScopeAccessReviewScheduleDefinitions GetById. */ +public final class ScopeAccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .getByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewScheduleDefinitions_List + +```java +/** Samples for ScopeAccessReviewScheduleDefinitions List. */ +public final class ScopeAccessReviewScheduleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .list("subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", null, com.azure.core.util.Context.NONE); + } +} +``` + +### ScopeAccessReviewScheduleDefinitions_Stop + +```java +/** Samples for ScopeAccessReviewScheduleDefinitions Stop. */ +public final class ScopeAccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .stopWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} +``` + +### TenantLevelAccessReviewInstanceContactedReviewers_List + +```java +/** Samples for TenantLevelAccessReviewInstanceContactedReviewers List. */ +public final class TenantLevelAccessReviewInstanceContactedReviewersListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .tenantLevelAccessReviewInstanceContactedReviewers() + .list( + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + com.azure.core.util.Context.NONE); + } +} +``` + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml new file mode 100644 index 0000000000000..0343b4ea89759 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure.resourcemanager + azure-resourcemanager-authorization-generated + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for Authorization Management + This package contains Microsoft Azure SDK for Authorization Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2021-12-01-preview-only. + 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 + + + + com.azure + azure-core + 1.39.0 + + + com.azure + azure-core-management + 1.11.1 + + + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java new file mode 100644 index 0000000000000..14e1826014249 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java @@ -0,0 +1,790 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated; + +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.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.http.policy.ArmChallengeAuthenticationPolicy; +import com.azure.core.management.profile.AzureProfile; +import com.azure.core.util.Configuration; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AuthorizationManagementClient; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewDefaultSettingsOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewHistoryDefinitionInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewHistoryDefinitionInstancesOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewHistoryDefinitionOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewHistoryDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceContactedReviewersImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceMyDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AlertConfigurationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AlertDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AlertIncidentsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AlertOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AlertsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AuthorizationManagementClientBuilder; +import com.azure.resourcemanager.authorization.generated.implementation.OperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewDefaultSettingsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewHistoryDefinitionInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewHistoryDefinitionOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewHistoryDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewInstanceContactedReviewersImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewInstanceDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewInstanceOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ScopeAccessReviewScheduleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.TenantLevelAccessReviewInstanceContactedReviewersImpl; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstances; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstancesOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceContactedReviewers; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstances; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstancesAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionsAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.AlertConfigurations; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinitions; +import com.azure.resourcemanager.authorization.generated.models.AlertIncidents; +import com.azure.resourcemanager.authorization.generated.models.AlertOperations; +import com.azure.resourcemanager.authorization.generated.models.Alerts; +import com.azure.resourcemanager.authorization.generated.models.Operations; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionInstances; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionInstancesOperations; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionOperations; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitions; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceContactedReviewers; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceDecisions; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceOperations; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstances; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewScheduleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.TenantLevelAccessReviewInstanceContactedReviewers; +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 AuthorizationManager. Access reviews service provides the workflow for running access reviews on + * different kind of resources. + */ +public final class AuthorizationManager { + private Operations operations; + + private AccessReviewHistoryDefinitions accessReviewHistoryDefinitions; + + private AccessReviewHistoryDefinitionOperations accessReviewHistoryDefinitionOperations; + + private AccessReviewHistoryDefinitionInstances accessReviewHistoryDefinitionInstances; + + private AccessReviewHistoryDefinitionInstancesOperations accessReviewHistoryDefinitionInstancesOperations; + + private AccessReviewScheduleDefinitions accessReviewScheduleDefinitions; + + private AccessReviewInstances accessReviewInstances; + + private AccessReviewInstanceOperations accessReviewInstanceOperations; + + private AccessReviewInstanceDecisions accessReviewInstanceDecisions; + + private AccessReviewInstanceContactedReviewers accessReviewInstanceContactedReviewers; + + private AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations; + + private ScopeAccessReviewHistoryDefinitions scopeAccessReviewHistoryDefinitions; + + private ScopeAccessReviewHistoryDefinitionOperations scopeAccessReviewHistoryDefinitionOperations; + + private ScopeAccessReviewHistoryDefinitionInstances scopeAccessReviewHistoryDefinitionInstances; + + private ScopeAccessReviewHistoryDefinitionInstancesOperations scopeAccessReviewHistoryDefinitionInstancesOperations; + + private ScopeAccessReviewScheduleDefinitions scopeAccessReviewScheduleDefinitions; + + private ScopeAccessReviewInstances scopeAccessReviewInstances; + + private ScopeAccessReviewInstanceOperations scopeAccessReviewInstanceOperations; + + private ScopeAccessReviewInstanceDecisions scopeAccessReviewInstanceDecisions; + + private ScopeAccessReviewInstanceContactedReviewers scopeAccessReviewInstanceContactedReviewers; + + private ScopeAccessReviewDefaultSettings scopeAccessReviewDefaultSettings; + + private AccessReviewScheduleDefinitionsAssignedForMyApprovals accessReviewScheduleDefinitionsAssignedForMyApprovals; + + private AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals; + + private AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions; + + private TenantLevelAccessReviewInstanceContactedReviewers tenantLevelAccessReviewInstanceContactedReviewers; + + private Alerts alerts; + + private AlertConfigurations alertConfigurations; + + private AlertDefinitions alertDefinitions; + + private AlertIncidents alertIncidents; + + private AlertOperations alertOperations; + + private final AuthorizationManagementClient clientObject; + + private AuthorizationManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + this.clientObject = + new AuthorizationManagementClientBuilder() + .pipeline(httpPipeline) + .endpoint(profile.getEnvironment().getResourceManagerEndpoint()) + .subscriptionId(profile.getSubscriptionId()) + .defaultPollInterval(defaultPollInterval) + .buildClient(); + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public static AuthorizationManager 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 Authorization service API entry point. + * + * @param httpPipeline the {@link HttpPipeline} configured with Azure authentication credential. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public static AuthorizationManager authenticate(HttpPipeline httpPipeline, AzureProfile profile) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return new AuthorizationManager(httpPipeline, profile, null); + } + + /** + * Gets a Configurable instance that can be used to create AuthorizationManager with optional configuration. + * + * @return the Configurable instance allowing configurations. + */ + public static Configurable configure() { + return new AuthorizationManager.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 Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public AuthorizationManager 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.authorization.generated") + .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 ArmChallengeAuthenticationPolicy(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 AuthorizationManager(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 AccessReviewHistoryDefinitions. + * + * @return Resource collection API of AccessReviewHistoryDefinitions. + */ + public AccessReviewHistoryDefinitions accessReviewHistoryDefinitions() { + if (this.accessReviewHistoryDefinitions == null) { + this.accessReviewHistoryDefinitions = + new AccessReviewHistoryDefinitionsImpl(clientObject.getAccessReviewHistoryDefinitions(), this); + } + return accessReviewHistoryDefinitions; + } + + /** + * Gets the resource collection API of AccessReviewHistoryDefinitionOperations. It manages + * AccessReviewHistoryDefinition. + * + * @return Resource collection API of AccessReviewHistoryDefinitionOperations. + */ + public AccessReviewHistoryDefinitionOperations accessReviewHistoryDefinitionOperations() { + if (this.accessReviewHistoryDefinitionOperations == null) { + this.accessReviewHistoryDefinitionOperations = + new AccessReviewHistoryDefinitionOperationsImpl( + clientObject.getAccessReviewHistoryDefinitionOperations(), this); + } + return accessReviewHistoryDefinitionOperations; + } + + /** + * Gets the resource collection API of AccessReviewHistoryDefinitionInstances. + * + * @return Resource collection API of AccessReviewHistoryDefinitionInstances. + */ + public AccessReviewHistoryDefinitionInstances accessReviewHistoryDefinitionInstances() { + if (this.accessReviewHistoryDefinitionInstances == null) { + this.accessReviewHistoryDefinitionInstances = + new AccessReviewHistoryDefinitionInstancesImpl( + clientObject.getAccessReviewHistoryDefinitionInstances(), this); + } + return accessReviewHistoryDefinitionInstances; + } + + /** + * Gets the resource collection API of AccessReviewHistoryDefinitionInstancesOperations. + * + * @return Resource collection API of AccessReviewHistoryDefinitionInstancesOperations. + */ + public AccessReviewHistoryDefinitionInstancesOperations accessReviewHistoryDefinitionInstancesOperations() { + if (this.accessReviewHistoryDefinitionInstancesOperations == null) { + this.accessReviewHistoryDefinitionInstancesOperations = + new AccessReviewHistoryDefinitionInstancesOperationsImpl( + clientObject.getAccessReviewHistoryDefinitionInstancesOperations(), this); + } + return accessReviewHistoryDefinitionInstancesOperations; + } + + /** + * Gets the resource collection API of AccessReviewScheduleDefinitions. It manages AccessReviewScheduleDefinition. + * + * @return Resource collection API of AccessReviewScheduleDefinitions. + */ + public AccessReviewScheduleDefinitions accessReviewScheduleDefinitions() { + if (this.accessReviewScheduleDefinitions == null) { + this.accessReviewScheduleDefinitions = + new AccessReviewScheduleDefinitionsImpl(clientObject.getAccessReviewScheduleDefinitions(), this); + } + return accessReviewScheduleDefinitions; + } + + /** + * Gets the resource collection API of AccessReviewInstances. It manages AccessReviewInstance. + * + * @return Resource collection API of AccessReviewInstances. + */ + public AccessReviewInstances accessReviewInstances() { + if (this.accessReviewInstances == null) { + this.accessReviewInstances = new AccessReviewInstancesImpl(clientObject.getAccessReviewInstances(), this); + } + return accessReviewInstances; + } + + /** + * Gets the resource collection API of AccessReviewInstanceOperations. + * + * @return Resource collection API of AccessReviewInstanceOperations. + */ + public AccessReviewInstanceOperations accessReviewInstanceOperations() { + if (this.accessReviewInstanceOperations == null) { + this.accessReviewInstanceOperations = + new AccessReviewInstanceOperationsImpl(clientObject.getAccessReviewInstanceOperations(), this); + } + return accessReviewInstanceOperations; + } + + /** + * Gets the resource collection API of AccessReviewInstanceDecisions. + * + * @return Resource collection API of AccessReviewInstanceDecisions. + */ + public AccessReviewInstanceDecisions accessReviewInstanceDecisions() { + if (this.accessReviewInstanceDecisions == null) { + this.accessReviewInstanceDecisions = + new AccessReviewInstanceDecisionsImpl(clientObject.getAccessReviewInstanceDecisions(), this); + } + return accessReviewInstanceDecisions; + } + + /** + * Gets the resource collection API of AccessReviewInstanceContactedReviewers. + * + * @return Resource collection API of AccessReviewInstanceContactedReviewers. + */ + public AccessReviewInstanceContactedReviewers accessReviewInstanceContactedReviewers() { + if (this.accessReviewInstanceContactedReviewers == null) { + this.accessReviewInstanceContactedReviewers = + new AccessReviewInstanceContactedReviewersImpl( + clientObject.getAccessReviewInstanceContactedReviewers(), this); + } + return accessReviewInstanceContactedReviewers; + } + + /** + * Gets the resource collection API of AccessReviewDefaultSettingsOperations. + * + * @return Resource collection API of AccessReviewDefaultSettingsOperations. + */ + public AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations() { + if (this.accessReviewDefaultSettingsOperations == null) { + this.accessReviewDefaultSettingsOperations = + new AccessReviewDefaultSettingsOperationsImpl( + clientObject.getAccessReviewDefaultSettingsOperations(), this); + } + return accessReviewDefaultSettingsOperations; + } + + /** + * Gets the resource collection API of ScopeAccessReviewHistoryDefinitions. + * + * @return Resource collection API of ScopeAccessReviewHistoryDefinitions. + */ + public ScopeAccessReviewHistoryDefinitions scopeAccessReviewHistoryDefinitions() { + if (this.scopeAccessReviewHistoryDefinitions == null) { + this.scopeAccessReviewHistoryDefinitions = + new ScopeAccessReviewHistoryDefinitionsImpl( + clientObject.getScopeAccessReviewHistoryDefinitions(), this); + } + return scopeAccessReviewHistoryDefinitions; + } + + /** + * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionOperations. + * + * @return Resource collection API of ScopeAccessReviewHistoryDefinitionOperations. + */ + public ScopeAccessReviewHistoryDefinitionOperations scopeAccessReviewHistoryDefinitionOperations() { + if (this.scopeAccessReviewHistoryDefinitionOperations == null) { + this.scopeAccessReviewHistoryDefinitionOperations = + new ScopeAccessReviewHistoryDefinitionOperationsImpl( + clientObject.getScopeAccessReviewHistoryDefinitionOperations(), this); + } + return scopeAccessReviewHistoryDefinitionOperations; + } + + /** + * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionInstances. + * + * @return Resource collection API of ScopeAccessReviewHistoryDefinitionInstances. + */ + public ScopeAccessReviewHistoryDefinitionInstances scopeAccessReviewHistoryDefinitionInstances() { + if (this.scopeAccessReviewHistoryDefinitionInstances == null) { + this.scopeAccessReviewHistoryDefinitionInstances = + new ScopeAccessReviewHistoryDefinitionInstancesImpl( + clientObject.getScopeAccessReviewHistoryDefinitionInstances(), this); + } + return scopeAccessReviewHistoryDefinitionInstances; + } + + /** + * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionInstancesOperations. + * + * @return Resource collection API of ScopeAccessReviewHistoryDefinitionInstancesOperations. + */ + public ScopeAccessReviewHistoryDefinitionInstancesOperations + scopeAccessReviewHistoryDefinitionInstancesOperations() { + if (this.scopeAccessReviewHistoryDefinitionInstancesOperations == null) { + this.scopeAccessReviewHistoryDefinitionInstancesOperations = + new ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl( + clientObject.getScopeAccessReviewHistoryDefinitionInstancesOperations(), this); + } + return scopeAccessReviewHistoryDefinitionInstancesOperations; + } + + /** + * Gets the resource collection API of ScopeAccessReviewScheduleDefinitions. + * + * @return Resource collection API of ScopeAccessReviewScheduleDefinitions. + */ + public ScopeAccessReviewScheduleDefinitions scopeAccessReviewScheduleDefinitions() { + if (this.scopeAccessReviewScheduleDefinitions == null) { + this.scopeAccessReviewScheduleDefinitions = + new ScopeAccessReviewScheduleDefinitionsImpl( + clientObject.getScopeAccessReviewScheduleDefinitions(), this); + } + return scopeAccessReviewScheduleDefinitions; + } + + /** + * Gets the resource collection API of ScopeAccessReviewInstances. + * + * @return Resource collection API of ScopeAccessReviewInstances. + */ + public ScopeAccessReviewInstances scopeAccessReviewInstances() { + if (this.scopeAccessReviewInstances == null) { + this.scopeAccessReviewInstances = + new ScopeAccessReviewInstancesImpl(clientObject.getScopeAccessReviewInstances(), this); + } + return scopeAccessReviewInstances; + } + + /** + * Gets the resource collection API of ScopeAccessReviewInstanceOperations. + * + * @return Resource collection API of ScopeAccessReviewInstanceOperations. + */ + public ScopeAccessReviewInstanceOperations scopeAccessReviewInstanceOperations() { + if (this.scopeAccessReviewInstanceOperations == null) { + this.scopeAccessReviewInstanceOperations = + new ScopeAccessReviewInstanceOperationsImpl( + clientObject.getScopeAccessReviewInstanceOperations(), this); + } + return scopeAccessReviewInstanceOperations; + } + + /** + * Gets the resource collection API of ScopeAccessReviewInstanceDecisions. + * + * @return Resource collection API of ScopeAccessReviewInstanceDecisions. + */ + public ScopeAccessReviewInstanceDecisions scopeAccessReviewInstanceDecisions() { + if (this.scopeAccessReviewInstanceDecisions == null) { + this.scopeAccessReviewInstanceDecisions = + new ScopeAccessReviewInstanceDecisionsImpl(clientObject.getScopeAccessReviewInstanceDecisions(), this); + } + return scopeAccessReviewInstanceDecisions; + } + + /** + * Gets the resource collection API of ScopeAccessReviewInstanceContactedReviewers. + * + * @return Resource collection API of ScopeAccessReviewInstanceContactedReviewers. + */ + public ScopeAccessReviewInstanceContactedReviewers scopeAccessReviewInstanceContactedReviewers() { + if (this.scopeAccessReviewInstanceContactedReviewers == null) { + this.scopeAccessReviewInstanceContactedReviewers = + new ScopeAccessReviewInstanceContactedReviewersImpl( + clientObject.getScopeAccessReviewInstanceContactedReviewers(), this); + } + return scopeAccessReviewInstanceContactedReviewers; + } + + /** + * Gets the resource collection API of ScopeAccessReviewDefaultSettings. + * + * @return Resource collection API of ScopeAccessReviewDefaultSettings. + */ + public ScopeAccessReviewDefaultSettings scopeAccessReviewDefaultSettings() { + if (this.scopeAccessReviewDefaultSettings == null) { + this.scopeAccessReviewDefaultSettings = + new ScopeAccessReviewDefaultSettingsImpl(clientObject.getScopeAccessReviewDefaultSettings(), this); + } + return scopeAccessReviewDefaultSettings; + } + + /** + * Gets the resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. + * + * @return Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. + */ + public AccessReviewScheduleDefinitionsAssignedForMyApprovals + accessReviewScheduleDefinitionsAssignedForMyApprovals() { + if (this.accessReviewScheduleDefinitionsAssignedForMyApprovals == null) { + this.accessReviewScheduleDefinitionsAssignedForMyApprovals = + new AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl( + clientObject.getAccessReviewScheduleDefinitionsAssignedForMyApprovals(), this); + } + return accessReviewScheduleDefinitionsAssignedForMyApprovals; + } + + /** + * Gets the resource collection API of AccessReviewInstancesAssignedForMyApprovals. + * + * @return Resource collection API of AccessReviewInstancesAssignedForMyApprovals. + */ + public AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals() { + if (this.accessReviewInstancesAssignedForMyApprovals == null) { + this.accessReviewInstancesAssignedForMyApprovals = + new AccessReviewInstancesAssignedForMyApprovalsImpl( + clientObject.getAccessReviewInstancesAssignedForMyApprovals(), this); + } + return accessReviewInstancesAssignedForMyApprovals; + } + + /** + * Gets the resource collection API of AccessReviewInstanceMyDecisions. + * + * @return Resource collection API of AccessReviewInstanceMyDecisions. + */ + public AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions() { + if (this.accessReviewInstanceMyDecisions == null) { + this.accessReviewInstanceMyDecisions = + new AccessReviewInstanceMyDecisionsImpl(clientObject.getAccessReviewInstanceMyDecisions(), this); + } + return accessReviewInstanceMyDecisions; + } + + /** + * Gets the resource collection API of TenantLevelAccessReviewInstanceContactedReviewers. + * + * @return Resource collection API of TenantLevelAccessReviewInstanceContactedReviewers. + */ + public TenantLevelAccessReviewInstanceContactedReviewers tenantLevelAccessReviewInstanceContactedReviewers() { + if (this.tenantLevelAccessReviewInstanceContactedReviewers == null) { + this.tenantLevelAccessReviewInstanceContactedReviewers = + new TenantLevelAccessReviewInstanceContactedReviewersImpl( + clientObject.getTenantLevelAccessReviewInstanceContactedReviewers(), this); + } + return tenantLevelAccessReviewInstanceContactedReviewers; + } + + /** + * Gets the resource collection API of Alerts. + * + * @return Resource collection API of Alerts. + */ + public Alerts alerts() { + if (this.alerts == null) { + this.alerts = new AlertsImpl(clientObject.getAlerts(), this); + } + return alerts; + } + + /** + * Gets the resource collection API of AlertConfigurations. + * + * @return Resource collection API of AlertConfigurations. + */ + public AlertConfigurations alertConfigurations() { + if (this.alertConfigurations == null) { + this.alertConfigurations = new AlertConfigurationsImpl(clientObject.getAlertConfigurations(), this); + } + return alertConfigurations; + } + + /** + * Gets the resource collection API of AlertDefinitions. + * + * @return Resource collection API of AlertDefinitions. + */ + public AlertDefinitions alertDefinitions() { + if (this.alertDefinitions == null) { + this.alertDefinitions = new AlertDefinitionsImpl(clientObject.getAlertDefinitions(), this); + } + return alertDefinitions; + } + + /** + * Gets the resource collection API of AlertIncidents. + * + * @return Resource collection API of AlertIncidents. + */ + public AlertIncidents alertIncidents() { + if (this.alertIncidents == null) { + this.alertIncidents = new AlertIncidentsImpl(clientObject.getAlertIncidents(), this); + } + return alertIncidents; + } + + /** + * Gets the resource collection API of AlertOperations. + * + * @return Resource collection API of AlertOperations. + */ + public AlertOperations alertOperations() { + if (this.alertOperations == null) { + this.alertOperations = new AlertOperationsImpl(clientObject.getAlertOperations(), this); + } + return alertOperations; + } + + /** + * @return Wrapped service client AuthorizationManagementClient providing direct access to the underlying + * auto-generated API implementation, based on Azure REST API. + */ + public AuthorizationManagementClient serviceClient() { + return this.clientObject; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java new file mode 100644 index 0000000000000..93f8d7ab2fe39 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewDefaultSettingsOperationsClient. + */ +public interface AccessReviewDefaultSettingsOperationsClient { + /** + * Get access review default settings for 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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(Context context); + + /** + * Get access review default settings for 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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDefaultSettingsInner get(); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response putWithResponse( + AccessReviewScheduleSettings properties, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.java new file mode 100644 index 0000000000000..58fa435ecd2fd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionInstancesClient. + */ +public interface AccessReviewHistoryDefinitionInstancesClient { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response generateDownloadUriWithResponse( + String historyDefinitionId, String instanceId, Context context); + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryInstanceInner generateDownloadUri(String historyDefinitionId, String instanceId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.java new file mode 100644 index 0000000000000..1b38c8a319466 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionInstancesOperationsClient. + */ +public interface AccessReviewHistoryDefinitionInstancesOperationsClient { + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String historyDefinitionId); + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String historyDefinitionId, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.java new file mode 100644 index 0000000000000..9982c2ff0f04c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionOperationsClient. + */ +public interface AccessReviewHistoryDefinitionOperationsClient { + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context); + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryDefinitionInner create( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties); + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdWithResponse(String historyDefinitionId, Context context); + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteById(String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java new file mode 100644 index 0000000000000..57c368b869a20 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; + +/** An instance of this class provides access to all the operations defined in AccessReviewHistoryDefinitionsClient. */ +public interface AccessReviewHistoryDefinitionsClient { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String historyDefinitionId, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryDefinitionInner getById(String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.java new file mode 100644 index 0000000000000..bff9ff6a7e3c1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstanceContactedReviewersClient. + */ +public interface AccessReviewInstanceContactedReviewersClient { + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java new file mode 100644 index 0000000000000..d1023194da9b4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewDecisionInner; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */ +public interface AccessReviewInstanceDecisionsClient { + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java new file mode 100644 index 0000000000000..c461c849922eb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */ +public interface AccessReviewInstanceMyDecisionsClient { + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDecisionInner patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java new file mode 100644 index 0000000000000..834f30eb58434 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */ +public interface AccessReviewInstanceOperationsClient { + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scheduleDefinitionId, String id); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scheduleDefinitionId, String id); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scheduleDefinitionId, String id); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scheduleDefinitionId, String id); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendations(String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java new file mode 100644 index 0000000000000..7557eb64f60f2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstancesAssignedForMyApprovalsClient. + */ +public interface AccessReviewInstancesAssignedForMyApprovalsClient { + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner getById(String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java new file mode 100644 index 0000000000000..b0b20e8ba74c7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstancesClient. */ +public interface AccessReviewInstancesClient { + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner getById(String scheduleDefinitionId, String id); + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties, Context context); + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner create(String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java new file mode 100644 index 0000000000000..5accea524040a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient. + */ +public interface AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient { + /** + * Get access review instances assigned for my approval. + * + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java new file mode 100644 index 0000000000000..af61109e72165 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** An instance of this class provides access to all the operations defined in AccessReviewScheduleDefinitionsClient. */ +public interface AccessReviewScheduleDefinitionsClient { + /** + * Get access review schedule definitions. + * + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String scheduleDefinitionId, Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdWithResponse(String scheduleDefinitionId, Context context); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteById(String scheduleDefinitionId); + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createOrUpdateByIdWithResponse( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context); + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewScheduleDefinitionInner createOrUpdateById( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scheduleDefinitionId, Context context); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scheduleDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java new file mode 100644 index 0000000000000..0835241ad60cf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AlertConfigurationInner; + +/** An instance of this class provides access to all the operations defined in AlertConfigurationsClient. */ +public interface AlertConfigurationsClient { + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String alertId, Context context); + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertConfigurationInner get(String scope, String alertId); + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 updateWithResponse( + String scope, String alertId, AlertConfigurationInner parameters, Context context); + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 update(String scope, String alertId, AlertConfigurationInner parameters); + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java new file mode 100644 index 0000000000000..a39987e328703 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AlertDefinitionInner; + +/** An instance of this class provides access to all the operations defined in AlertDefinitionsClient. */ +public interface AlertDefinitionsClient { + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String alertDefinitionId, Context context); + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertDefinitionInner get(String scope, String alertDefinitionId); + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java new file mode 100644 index 0000000000000..ae1846fbbe9f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AlertIncidentInner; + +/** An instance of this class provides access to all the operations defined in AlertIncidentsClient. */ +public interface AlertIncidentsClient { + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String alertId, String alertIncidentId, Context context); + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertIncidentInner get(String scope, String alertId, String alertIncidentId); + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String alertId); + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String alertId, Context context); + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediateWithResponse(String scope, String alertId, String alertIncidentId, Context context); + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediate(String scope, String alertId, String alertIncidentId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.java new file mode 100644 index 0000000000000..c85a518f0c5d0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.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.authorization.generated.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.authorization.generated.fluent.models.AlertOperationResultInner; + +/** An instance of this class provides access to all the operations defined in AlertOperationsClient. */ +public interface AlertOperationsClient { + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @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 specified alert operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String operationId, Context context); + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert 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 specified alert operation. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertOperationResultInner get(String scope, String operationId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java new file mode 100644 index 0000000000000..9b9b72fc8dc4f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java @@ -0,0 +1,215 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.management.polling.PollResult; +import com.azure.core.util.Context; +import com.azure.core.util.polling.SyncPoller; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; + +/** An instance of this class provides access to all the operations defined in AlertsClient. */ +public interface AlertsClient { + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String alertId, Context context); + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertInner get(String scope, String alertId); + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 updateWithResponse(String scope, String alertId, AlertInner parameters, Context context); + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 update(String scope, String alertId, AlertInner parameters); + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + SyncPoller, AlertOperationResultInner> beginRefresh( + String scope, String alertId); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + SyncPoller, AlertOperationResultInner> beginRefresh( + String scope, String alertId, Context context); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertOperationResultInner refresh(String scope, String alertId); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertOperationResultInner refresh(String scope, String alertId, Context context); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + SyncPoller, AlertOperationResultInner> beginRefreshAll(String scope); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + SyncPoller, AlertOperationResultInner> beginRefreshAll( + String scope, Context context); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertOperationResultInner refreshAll(String scope); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AlertOperationResultInner refreshAll(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java new file mode 100644 index 0000000000000..ab7f6fa21120a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java @@ -0,0 +1,251 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.http.HttpPipeline; +import java.time.Duration; + +/** The interface for AuthorizationManagementClient class. */ +public interface AuthorizationManagementClient { + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + String getSubscriptionId(); + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + String getEndpoint(); + + /** + * 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 AccessReviewHistoryDefinitionsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionsClient object. + */ + AccessReviewHistoryDefinitionsClient getAccessReviewHistoryDefinitions(); + + /** + * Gets the AccessReviewHistoryDefinitionOperationsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionOperationsClient object. + */ + AccessReviewHistoryDefinitionOperationsClient getAccessReviewHistoryDefinitionOperations(); + + /** + * Gets the AccessReviewHistoryDefinitionInstancesClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionInstancesClient object. + */ + AccessReviewHistoryDefinitionInstancesClient getAccessReviewHistoryDefinitionInstances(); + + /** + * Gets the AccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionInstancesOperationsClient object. + */ + AccessReviewHistoryDefinitionInstancesOperationsClient getAccessReviewHistoryDefinitionInstancesOperations(); + + /** + * Gets the AccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsClient object. + */ + AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions(); + + /** + * Gets the AccessReviewInstancesClient object to access its operations. + * + * @return the AccessReviewInstancesClient object. + */ + AccessReviewInstancesClient getAccessReviewInstances(); + + /** + * Gets the AccessReviewInstanceOperationsClient object to access its operations. + * + * @return the AccessReviewInstanceOperationsClient object. + */ + AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations(); + + /** + * Gets the AccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceDecisionsClient object. + */ + AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions(); + + /** + * Gets the AccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the AccessReviewInstanceContactedReviewersClient object. + */ + AccessReviewInstanceContactedReviewersClient getAccessReviewInstanceContactedReviewers(); + + /** + * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations. + * + * @return the AccessReviewDefaultSettingsOperationsClient object. + */ + AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations(); + + /** + * Gets the ScopeAccessReviewHistoryDefinitionsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionsClient object. + */ + ScopeAccessReviewHistoryDefinitionsClient getScopeAccessReviewHistoryDefinitions(); + + /** + * Gets the ScopeAccessReviewHistoryDefinitionOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionOperationsClient object. + */ + ScopeAccessReviewHistoryDefinitionOperationsClient getScopeAccessReviewHistoryDefinitionOperations(); + + /** + * Gets the ScopeAccessReviewHistoryDefinitionInstancesClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionInstancesClient object. + */ + ScopeAccessReviewHistoryDefinitionInstancesClient getScopeAccessReviewHistoryDefinitionInstances(); + + /** + * Gets the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object. + */ + ScopeAccessReviewHistoryDefinitionInstancesOperationsClient + getScopeAccessReviewHistoryDefinitionInstancesOperations(); + + /** + * Gets the ScopeAccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the ScopeAccessReviewScheduleDefinitionsClient object. + */ + ScopeAccessReviewScheduleDefinitionsClient getScopeAccessReviewScheduleDefinitions(); + + /** + * Gets the ScopeAccessReviewInstancesClient object to access its operations. + * + * @return the ScopeAccessReviewInstancesClient object. + */ + ScopeAccessReviewInstancesClient getScopeAccessReviewInstances(); + + /** + * Gets the ScopeAccessReviewInstanceOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceOperationsClient object. + */ + ScopeAccessReviewInstanceOperationsClient getScopeAccessReviewInstanceOperations(); + + /** + * Gets the ScopeAccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceDecisionsClient object. + */ + ScopeAccessReviewInstanceDecisionsClient getScopeAccessReviewInstanceDecisions(); + + /** + * Gets the ScopeAccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceContactedReviewersClient object. + */ + ScopeAccessReviewInstanceContactedReviewersClient getScopeAccessReviewInstanceContactedReviewers(); + + /** + * Gets the ScopeAccessReviewDefaultSettingsClient object to access its operations. + * + * @return the ScopeAccessReviewDefaultSettingsClient object. + */ + ScopeAccessReviewDefaultSettingsClient getScopeAccessReviewDefaultSettings(); + + /** + * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object. + */ + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + getAccessReviewScheduleDefinitionsAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewInstancesAssignedForMyApprovalsClient object. + */ + AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceMyDecisionsClient object. + */ + AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions(); + + /** + * Gets the TenantLevelAccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the TenantLevelAccessReviewInstanceContactedReviewersClient object. + */ + TenantLevelAccessReviewInstanceContactedReviewersClient getTenantLevelAccessReviewInstanceContactedReviewers(); + + /** + * Gets the AlertsClient object to access its operations. + * + * @return the AlertsClient object. + */ + AlertsClient getAlerts(); + + /** + * Gets the AlertConfigurationsClient object to access its operations. + * + * @return the AlertConfigurationsClient object. + */ + AlertConfigurationsClient getAlertConfigurations(); + + /** + * Gets the AlertDefinitionsClient object to access its operations. + * + * @return the AlertDefinitionsClient object. + */ + AlertDefinitionsClient getAlertDefinitions(); + + /** + * Gets the AlertIncidentsClient object to access its operations. + * + * @return the AlertIncidentsClient object. + */ + AlertIncidentsClient getAlertIncidents(); + + /** + * Gets the AlertOperationsClient object to access its operations. + * + * @return the AlertOperationsClient object. + */ + AlertOperationsClient getAlertOperations(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java new file mode 100644 index 0000000000000..d360ea26e0c43 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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.authorization.generated.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.authorization.generated.fluent.models.OperationInner; + +/** An instance of this class provides access to all the operations defined in OperationsClient. */ +public interface OperationsClient { + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java new file mode 100644 index 0000000000000..c3adf52cf8e7c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewDefaultSettingsClient. + */ +public interface ScopeAccessReviewDefaultSettingsClient { + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDefaultSettingsInner get(String scope); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response putWithResponse( + String scope, AccessReviewScheduleSettings properties, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDefaultSettingsInner put(String scope, AccessReviewScheduleSettings properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java new file mode 100644 index 0000000000000..dba1792d80f8c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionInstancesClient. + */ +public interface ScopeAccessReviewHistoryDefinitionInstancesClient { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response generateDownloadUriWithResponse( + String scope, String historyDefinitionId, String instanceId, Context context); + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryInstanceInner generateDownloadUri(String scope, String historyDefinitionId, String instanceId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.java new file mode 100644 index 0000000000000..dcca77dc2579e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionInstancesOperationsClient. + */ +public interface ScopeAccessReviewHistoryDefinitionInstancesOperationsClient { + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String historyDefinitionId); + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String historyDefinitionId, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java new file mode 100644 index 0000000000000..c8f18e1d38f16 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionOperationsClient. + */ +public interface ScopeAccessReviewHistoryDefinitionOperationsClient { + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context); + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryDefinitionInner create( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties); + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdWithResponse(String scope, String historyDefinitionId, Context context); + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteById(String scope, String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java new file mode 100644 index 0000000000000..44c883e63dbd2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewHistoryDefinitionsClient. + */ +public interface ScopeAccessReviewHistoryDefinitionsClient { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope); + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String filter, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse( + String scope, String historyDefinitionId, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewHistoryDefinitionInner getById(String scope, String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.java new file mode 100644 index 0000000000000..4ffb0135d5269 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewInstanceContactedReviewersClient. + */ +public interface ScopeAccessReviewInstanceContactedReviewersClient { + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list( + String scope, String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java new file mode 100644 index 0000000000000..f933d8f8ad627 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewDecisionInner; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceDecisionsClient. + */ +public interface ScopeAccessReviewInstanceDecisionsClient { + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list( + String scope, String scheduleDefinitionId, String id, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java new file mode 100644 index 0000000000000..c88fc36ba09bd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.models.RecordAllDecisionsProperties; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceOperationsClient. + */ +public interface ScopeAccessReviewInstanceOperationsClient { + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scope, String scheduleDefinitionId, String id); + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties, Context context); + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisions( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scope, String scheduleDefinitionId, String id); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scope, String scheduleDefinitionId, String id); + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scope, String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java new file mode 100644 index 0000000000000..0b2e353f88a32 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java @@ -0,0 +1,114 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; + +/** An instance of this class provides access to all the operations defined in ScopeAccessReviewInstancesClient. */ +public interface ScopeAccessReviewInstancesClient { + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list( + String scope, String scheduleDefinitionId, String filter, Context context); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse( + String scope, String scheduleDefinitionId, String id, Context context); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner getById(String scope, String scheduleDefinitionId, String id); + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, + String scheduleDefinitionId, + String id, + AccessReviewInstanceProperties properties, + Context context); + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner create( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.java new file mode 100644 index 0000000000000..a9045b8cfc907 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewScheduleDefinitionsClient. + */ +public interface ScopeAccessReviewScheduleDefinitionsClient { + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope); + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String filter, Context context); + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse( + String scope, String scheduleDefinitionId, Context context); + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewScheduleDefinitionInner getById(String scope, String scheduleDefinitionId); + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdWithResponse(String scope, String scheduleDefinitionId, Context context); + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteById(String scope, String scheduleDefinitionId); + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createOrUpdateByIdWithResponse( + String scope, + String scheduleDefinitionId, + AccessReviewScheduleDefinitionProperties properties, + Context context); + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewScheduleDefinitionInner createOrUpdateById( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties); + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, Context context); + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scope, String scheduleDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.java new file mode 100644 index 0000000000000..ef695f5331f48 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.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.authorization.generated.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.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; + +/** + * An instance of this class provides access to all the operations defined in + * TenantLevelAccessReviewInstanceContactedReviewersClient. + */ +public interface TenantLevelAccessReviewInstanceContactedReviewersClient { + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java new file mode 100644 index 0000000000000..bf52738205218 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.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.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the actor identity. */ +@Immutable +public final class AccessReviewActorIdentity { + /* + * The identity id + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The identity type : user/servicePrincipal + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentityType principalType; + + /* + * The identity display name + */ + @JsonProperty(value = "principalName", access = JsonProperty.Access.WRITE_ONLY) + private String principalName; + + /* + * The user principal name(if valid) + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /** Creates an instance of AccessReviewActorIdentity class. */ + public AccessReviewActorIdentity() { + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.principalType; + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.principalName; + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.userPrincipalName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.java new file mode 100644 index 0000000000000..bd5cb46310a44 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.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.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.management.ProxyResource; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review Contacted Reviewer. */ +@Immutable +public final class AccessReviewContactedReviewerInner extends ProxyResource { + /* + * Access Review Contacted Reviewer properties. + */ + @JsonProperty(value = "properties") + private AccessReviewContactedReviewerProperties innerProperties; + + /** Creates an instance of AccessReviewContactedReviewerInner class. */ + public AccessReviewContactedReviewerInner() { + } + + /** + * Get the innerProperties property: Access Review Contacted Reviewer properties. + * + * @return the innerProperties value. + */ + private AccessReviewContactedReviewerProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the userDisplayName property: The display name of the reviewer. + * + * @return the userDisplayName value. + */ + public String userDisplayName() { + return this.innerProperties() == null ? null : this.innerProperties().userDisplayName(); + } + + /** + * Get the userPrincipalName property: The user principal name of the reviewer. + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Get the createdDateTime property: Date Time when the reviewer was contacted. + * + * @return the createdDateTime value. + */ + public OffsetDateTime createdDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().createdDateTime(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java new file mode 100644 index 0000000000000..6b78cc260189b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Properties of access review contacted reviewer. */ +@Immutable +public final class AccessReviewContactedReviewerProperties { + /* + * The display name of the reviewer + */ + @JsonProperty(value = "userDisplayName", access = JsonProperty.Access.WRITE_ONLY) + private String userDisplayName; + + /* + * The user principal name of the reviewer + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /* + * Date Time when the reviewer was contacted. + */ + @JsonProperty(value = "createdDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdDateTime; + + /** Creates an instance of AccessReviewContactedReviewerProperties class. */ + public AccessReviewContactedReviewerProperties() { + } + + /** + * Get the userDisplayName property: The display name of the reviewer. + * + * @return the userDisplayName value. + */ + public String userDisplayName() { + return this.userDisplayName; + } + + /** + * Get the userPrincipalName property: The user principal name of the reviewer. + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.userPrincipalName; + } + + /** + * Get the createdDateTime property: Date Time when the reviewer was contacted. + * + * @return the createdDateTime value. + */ + public OffsetDateTime createdDateTime() { + return this.createdDateTime; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java new file mode 100644 index 0000000000000..3f88d0af12685 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java @@ -0,0 +1,282 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review. */ +@Fluent +public final class AccessReviewDecisionInner extends ProxyResource { + /* + * Access Review Decision properties. + */ + @JsonProperty(value = "properties") + private AccessReviewDecisionProperties innerProperties; + + /** Creates an instance of AccessReviewDecisionInner class. */ + public AccessReviewDecisionInner() { + } + + /** + * Get the innerProperties property: Access Review Decision properties. + * + * @return the innerProperties value. + */ + private AccessReviewDecisionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the principal property: Principal associated with the decision record. Can be + * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity. + * + * @return the principal value. + */ + public AccessReviewDecisionIdentity principal() { + return this.innerProperties() == null ? null : this.innerProperties().principal(); + } + + /** + * Get the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + public AccessRecommendationType recommendation() { + return this.innerProperties() == null ? null : this.innerProperties().recommendation(); + } + + /** + * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + public AccessReviewResult decision() { + return this.innerProperties() == null ? null : this.innerProperties().decision(); + } + + /** + * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @param decision the decision value to set. + * @return the AccessReviewDecisionInner object itself. + */ + public AccessReviewDecisionInner withDecision(AccessReviewResult decision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewDecisionProperties(); + } + this.innerProperties().withDecision(decision); + return this; + } + + /** + * Get the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification provided by approvers for their action. + * + * @param justification the justification value to set. + * @return the AccessReviewDecisionInner object itself. + */ + public AccessReviewDecisionInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewDecisionProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + public OffsetDateTime reviewedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewedDateTime(); + } + + /** + * Get the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + public AccessReviewApplyResult applyResult() { + return this.innerProperties() == null ? null : this.innerProperties().applyResult(); + } + + /** + * Get the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + public OffsetDateTime appliedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().appliedDateTime(); + } + + /** + * Get the insights property: This is the collection of insights for this decision item. + * + * @return the insights value. + */ + public List insights() { + return this.innerProperties() == null ? null : this.innerProperties().insights(); + } + + /** + * Set the insights property: This is the collection of insights for this decision item. + * + * @param insights the insights value to set. + * @return the AccessReviewDecisionInner object itself. + */ + public AccessReviewDecisionInner withInsights(List insights) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewDecisionProperties(); + } + this.innerProperties().withInsights(insights); + return this; + } + + /** + * Get the type property: The type of resource. + * + * @return the type value. + */ + public DecisionResourceType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Get the id property: The id of resource associated with a decision record. + * + * @return the id value. + */ + public String idPropertiesId() { + return this.innerProperties() == null ? null : this.innerProperties().id(); + } + + /** + * Get the displayName property: The display name of resource associated with a decision record. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Get the principalIdAppliedByPrincipalId property: The identity id. + * + * @return the principalIdAppliedByPrincipalId value. + */ + public String principalIdAppliedByPrincipalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalIdAppliedByPrincipalId(); + } + + /** + * Get the principalTypeAppliedByPrincipalType property: The identity type : user/servicePrincipal. + * + * @return the principalTypeAppliedByPrincipalType value. + */ + public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalTypeAppliedByPrincipalType(); + } + + /** + * Get the principalNameAppliedByPrincipalName property: The identity display name. + * + * @return the principalNameAppliedByPrincipalName value. + */ + public String principalNameAppliedByPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalNameAppliedByPrincipalName(); + } + + /** + * Get the userPrincipalNameAppliedByUserPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalNameAppliedByUserPrincipalName value. + */ + public String userPrincipalNameAppliedByUserPrincipalName() { + return this.innerProperties() == null + ? null + : this.innerProperties().userPrincipalNameAppliedByUserPrincipalName(); + } + + /** + * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @return the membershipTypes value. + */ + public List membershipTypes() { + return this.innerProperties() == null ? null : this.innerProperties().membershipTypes(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java new file mode 100644 index 0000000000000..d20b93c671a53 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Target of the decision. */ +@Fluent +public final class AccessReviewDecisionPrincipalResourceMembership { + /* + * Every decision item in an access review represents a principal's membership to a resource. This property + * represents details of the membership. Examples of this detail might be whether the principal has direct access + * or indirect access + */ + @JsonProperty(value = "membershipTypes") + private List membershipTypes; + + /** Creates an instance of AccessReviewDecisionPrincipalResourceMembership class. */ + public AccessReviewDecisionPrincipalResourceMembership() { + } + + /** + * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @return the membershipTypes value. + */ + public List membershipTypes() { + return this.membershipTypes; + } + + /** + * Set the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @param membershipTypes the membershipTypes value to set. + * @return the AccessReviewDecisionPrincipalResourceMembership object itself. + */ + public AccessReviewDecisionPrincipalResourceMembership withMembershipTypes( + List membershipTypes) { + this.membershipTypes = membershipTypes; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java new file mode 100644 index 0000000000000..ac565d8d6f3ad --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java @@ -0,0 +1,413 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Approval Step. */ +@Fluent +public final class AccessReviewDecisionProperties { + /* + * Principal associated with the decision record. Can be AccessReviewDecisionUserIdentity or + * AccessReviewDecisionServicePrincipalIdentity + */ + @JsonProperty(value = "principal", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewDecisionIdentity principal; + + /* + * Resource associated with this decision record. + */ + @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewDecisionResource innerResource; + + /* + * The feature- generated recommendation shown to the reviewer. + */ + @JsonProperty(value = "recommendation", access = JsonProperty.Access.WRITE_ONLY) + private AccessRecommendationType recommendation; + + /* + * The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of + * Approve/Deny + */ + @JsonProperty(value = "decision") + private AccessReviewResult decision; + + /* + * Justification provided by approvers for their action + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Date Time when a decision was taken. + */ + @JsonProperty(value = "reviewedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime reviewedDateTime; + + /* + * Details of the approver. + */ + @JsonProperty(value = "reviewedBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerReviewedBy; + + /* + * The outcome of applying the decision. + */ + @JsonProperty(value = "applyResult", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewApplyResult applyResult; + + /* + * The date and time when the review decision was applied. + */ + @JsonProperty(value = "appliedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime appliedDateTime; + + /* + * Details of the approver. + */ + @JsonProperty(value = "appliedBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerAppliedBy; + + /* + * This is the collection of insights for this decision item. + */ + @JsonProperty(value = "insights") + private List insights; + + /* + * Details of the membership type. + */ + @JsonProperty(value = "principalResourceMembership", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewDecisionPrincipalResourceMembership innerPrincipalResourceMembership; + + /** Creates an instance of AccessReviewDecisionProperties class. */ + public AccessReviewDecisionProperties() { + } + + /** + * Get the principal property: Principal associated with the decision record. Can be + * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity. + * + * @return the principal value. + */ + public AccessReviewDecisionIdentity principal() { + return this.principal; + } + + /** + * Get the innerResource property: Resource associated with this decision record. + * + * @return the innerResource value. + */ + private AccessReviewDecisionResource innerResource() { + return this.innerResource; + } + + /** + * Get the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + public AccessRecommendationType recommendation() { + return this.recommendation; + } + + /** + * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + public AccessReviewResult decision() { + return this.decision; + } + + /** + * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @param decision the decision value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withDecision(AccessReviewResult decision) { + this.decision = decision; + return this; + } + + /** + * Get the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification provided by approvers for their action. + * + * @param justification the justification value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + public OffsetDateTime reviewedDateTime() { + return this.reviewedDateTime; + } + + /** + * Get the innerReviewedBy property: Details of the approver. + * + * @return the innerReviewedBy value. + */ + private AccessReviewActorIdentity innerReviewedBy() { + return this.innerReviewedBy; + } + + /** + * Get the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + public AccessReviewApplyResult applyResult() { + return this.applyResult; + } + + /** + * Get the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + public OffsetDateTime appliedDateTime() { + return this.appliedDateTime; + } + + /** + * Get the innerAppliedBy property: Details of the approver. + * + * @return the innerAppliedBy value. + */ + private AccessReviewActorIdentity innerAppliedBy() { + return this.innerAppliedBy; + } + + /** + * Get the insights property: This is the collection of insights for this decision item. + * + * @return the insights value. + */ + public List insights() { + return this.insights; + } + + /** + * Set the insights property: This is the collection of insights for this decision item. + * + * @param insights the insights value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withInsights(List insights) { + this.insights = insights; + return this; + } + + /** + * Get the innerPrincipalResourceMembership property: Details of the membership type. + * + * @return the innerPrincipalResourceMembership value. + */ + private AccessReviewDecisionPrincipalResourceMembership innerPrincipalResourceMembership() { + return this.innerPrincipalResourceMembership; + } + + /** + * Get the type property: The type of resource. + * + * @return the type value. + */ + public DecisionResourceType type() { + return this.innerResource() == null ? null : this.innerResource().type(); + } + + /** + * Set the type property: The type of resource. + * + * @param type the type value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withType(DecisionResourceType type) { + if (this.innerResource() == null) { + this.innerResource = new AccessReviewDecisionResource(); + } + this.innerResource().withType(type); + return this; + } + + /** + * Get the id property: The id of resource associated with a decision record. + * + * @return the id value. + */ + public String id() { + return this.innerResource() == null ? null : this.innerResource().id(); + } + + /** + * Get the displayName property: The display name of resource associated with a decision record. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerResource() == null ? null : this.innerResource().displayName(); + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().userPrincipalName(); + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalIdAppliedByPrincipalId() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalNameAppliedByPrincipalName() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalNameAppliedByUserPrincipalName() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().userPrincipalName(); + } + + /** + * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @return the membershipTypes value. + */ + public List membershipTypes() { + return this.innerPrincipalResourceMembership() == null + ? null + : this.innerPrincipalResourceMembership().membershipTypes(); + } + + /** + * Set the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @param membershipTypes the membershipTypes value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withMembershipTypes( + List membershipTypes) { + if (this.innerPrincipalResourceMembership() == null) { + this.innerPrincipalResourceMembership = new AccessReviewDecisionPrincipalResourceMembership(); + } + this.innerPrincipalResourceMembership().withMembershipTypes(membershipTypes); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (principal() != null) { + principal().validate(); + } + if (innerResource() != null) { + innerResource().validate(); + } + if (innerReviewedBy() != null) { + innerReviewedBy().validate(); + } + if (innerAppliedBy() != null) { + innerAppliedBy().validate(); + } + if (insights() != null) { + insights().forEach(e -> e.validate()); + } + if (innerPrincipalResourceMembership() != null) { + innerPrincipalResourceMembership().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java new file mode 100644 index 0000000000000..97aee5e03bc73 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java @@ -0,0 +1,90 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Target of the decision. */ +@Fluent +public final class AccessReviewDecisionResource { + /* + * The type of resource + */ + @JsonProperty(value = "type", required = true) + private DecisionResourceType type; + + /* + * The id of resource associated with a decision record. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The display name of resource associated with a decision record. + */ + @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY) + private String displayName; + + /** Creates an instance of AccessReviewDecisionResource class. */ + public AccessReviewDecisionResource() { + } + + /** + * Get the type property: The type of resource. + * + * @return the type value. + */ + public DecisionResourceType type() { + return this.type; + } + + /** + * Set the type property: The type of resource. + * + * @param type the type value to set. + * @return the AccessReviewDecisionResource object itself. + */ + public AccessReviewDecisionResource withType(DecisionResourceType type) { + this.type = type; + return this; + } + + /** + * Get the id property: The id of resource associated with a decision record. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the displayName property: The display name of resource associated with a decision record. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (type() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property type in model AccessReviewDecisionResource")); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewDecisionResource.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java new file mode 100644 index 0000000000000..5e6d5de8ff82f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java @@ -0,0 +1,427 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.Duration; +import java.time.OffsetDateTime; + +/** Access Review Default Settings. */ +@Fluent +public final class AccessReviewDefaultSettingsInner extends ProxyResource { + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewScheduleSettings innerProperties; + + /** Creates an instance of AccessReviewDefaultSettingsInner class. */ + public AccessReviewDefaultSettingsInner() { + } + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewScheduleSettings innerProperties() { + return this.innerProperties; + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + public Duration recommendationLookBackDuration() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationLookBackDuration(); + } + + /** + * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration the recommendationLookBackDuration value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withRecommendationLookBackDuration( + Duration recommendationLookBackDuration) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withRecommendationLookBackDuration(recommendationLookBackDuration); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withTypePropertiesType(AccessReviewRecurrencePatternType type) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerProperties() == null ? null : this.innerProperties().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withInterval(Integer interval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerProperties() == null ? null : this.innerProperties().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerProperties() == null ? null : this.innerProperties().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withStartDate(OffsetDateTime startDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerProperties() == null ? null : this.innerProperties().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withEndDate(OffsetDateTime endDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java new file mode 100644 index 0000000000000..e1e35ff9528e1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java @@ -0,0 +1,365 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review History Definition. */ +@Fluent +public final class AccessReviewHistoryDefinitionInner extends ProxyResource { + /* + * Access Review History Definition properties. + */ + @JsonProperty(value = "properties") + private AccessReviewHistoryDefinitionProperties innerProperties; + + /** Creates an instance of AccessReviewHistoryDefinitionInner class. */ + public AccessReviewHistoryDefinitionInner() { + } + + /** + * Get the innerProperties property: Access Review History Definition properties. + * + * @return the innerProperties value. + */ + private AccessReviewHistoryDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the displayName property: The display name for the history definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The display name for the history definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodStartDateTime(); + } + + /** + * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodEndDateTime(); + } + + /** + * Get the decisions property: Collection of review decisions which the history data should be filtered on. For + * example if Approve and Deny are supplied the data will only contain review results in which the decision maker + * approved or denied a review request. + * + * @return the decisions value. + */ + public List decisions() { + return this.innerProperties() == null ? null : this.innerProperties().decisions(); + } + + /** + * Set the decisions property: Collection of review decisions which the history data should be filtered on. For + * example if Approve and Deny are supplied the data will only contain review results in which the decision maker + * approved or denied a review request. + * + * @param decisions the decisions value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withDecisions(List decisions) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withDecisions(decisions); + return this; + } + + /** + * Get the status property: This read-only field specifies the of the requested review history data. This is either + * requested, in-progress, done or error. + * + * @return the status value. + */ + public AccessReviewHistoryDefinitionStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the createdDateTime property: Date time when history definition was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime createdDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().createdDateTime(); + } + + /** + * Get the scopes property: A collection of scopes used when selecting review history data. + * + * @return the scopes value. + */ + public List scopes() { + return this.innerProperties() == null ? null : this.innerProperties().scopes(); + } + + /** + * Set the scopes property: A collection of scopes used when selecting review history data. + * + * @param scopes the scopes value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withScopes(List scopes) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withScopes(scopes); + return this; + } + + /** + * Get the instances property: Set of access review history instances for this history definition. + * + * @return the instances value. + */ + public List instances() { + return this.innerProperties() == null ? null : this.innerProperties().instances(); + } + + /** + * Set the instances property: Set of access review history instances for this history definition. + * + * @param instances the instances value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withInstances(List instances) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withInstances(instances); + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withTypePropertiesType(AccessReviewRecurrencePatternType type) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerProperties() == null ? null : this.innerProperties().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withInterval(Integer interval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerProperties() == null ? null : this.innerProperties().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerProperties() == null ? null : this.innerProperties().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withStartDate(OffsetDateTime startDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerProperties() == null ? null : this.innerProperties().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewHistoryDefinitionInner object itself. + */ + public AccessReviewHistoryDefinitionInner withEndDate(OffsetDateTime endDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryDefinitionProperties(); + } + this.innerProperties().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java new file mode 100644 index 0000000000000..427cfe949b7c2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java @@ -0,0 +1,429 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review History Instances. */ +@Fluent +public final class AccessReviewHistoryDefinitionProperties { + /* + * The display name for the history definition. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Date time used when selecting review data, all reviews included in data start on or after this date. For use + * only with one-time/non-recurring reports. + */ + @JsonProperty(value = "reviewHistoryPeriodStartDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime reviewHistoryPeriodStartDateTime; + + /* + * Date time used when selecting review data, all reviews included in data end on or before this date. For use only + * with one-time/non-recurring reports. + */ + @JsonProperty(value = "reviewHistoryPeriodEndDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime reviewHistoryPeriodEndDateTime; + + /* + * Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are + * supplied the data will only contain review results in which the decision maker approved or denied a review + * request. + */ + @JsonProperty(value = "decisions") + private List decisions; + + /* + * This read-only field specifies the of the requested review history data. This is either requested, in-progress, + * done or error. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewHistoryDefinitionStatus status; + + /* + * Date time when history definition was created + */ + @JsonProperty(value = "createdDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdDateTime; + + /* + * The user or other identity who created this history definition. + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerCreatedBy; + + /* + * A collection of scopes used when selecting review history data + */ + @JsonProperty(value = "scopes") + private List scopes; + + /* + * Recurrence settings for recurring history reports, skip for one-time reports. + */ + @JsonProperty(value = "settings") + private AccessReviewHistoryScheduleSettings innerSettings; + + /* + * Set of access review history instances for this history definition. + */ + @JsonProperty(value = "instances") + private List instances; + + /** Creates an instance of AccessReviewHistoryDefinitionProperties class. */ + public AccessReviewHistoryDefinitionProperties() { + } + + /** + * Get the displayName property: The display name for the history definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The display name for the history definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.reviewHistoryPeriodStartDateTime; + } + + /** + * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.reviewHistoryPeriodEndDateTime; + } + + /** + * Get the decisions property: Collection of review decisions which the history data should be filtered on. For + * example if Approve and Deny are supplied the data will only contain review results in which the decision maker + * approved or denied a review request. + * + * @return the decisions value. + */ + public List decisions() { + return this.decisions; + } + + /** + * Set the decisions property: Collection of review decisions which the history data should be filtered on. For + * example if Approve and Deny are supplied the data will only contain review results in which the decision maker + * approved or denied a review request. + * + * @param decisions the decisions value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withDecisions(List decisions) { + this.decisions = decisions; + return this; + } + + /** + * Get the status property: This read-only field specifies the of the requested review history data. This is either + * requested, in-progress, done or error. + * + * @return the status value. + */ + public AccessReviewHistoryDefinitionStatus status() { + return this.status; + } + + /** + * Get the createdDateTime property: Date time when history definition was created. + * + * @return the createdDateTime value. + */ + public OffsetDateTime createdDateTime() { + return this.createdDateTime; + } + + /** + * Get the innerCreatedBy property: The user or other identity who created this history definition. + * + * @return the innerCreatedBy value. + */ + private AccessReviewActorIdentity innerCreatedBy() { + return this.innerCreatedBy; + } + + /** + * Get the scopes property: A collection of scopes used when selecting review history data. + * + * @return the scopes value. + */ + public List scopes() { + return this.scopes; + } + + /** + * Set the scopes property: A collection of scopes used when selecting review history data. + * + * @param scopes the scopes value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withScopes(List scopes) { + this.scopes = scopes; + return this; + } + + /** + * Get the innerSettings property: Recurrence settings for recurring history reports, skip for one-time reports. + * + * @return the innerSettings value. + */ + private AccessReviewHistoryScheduleSettings innerSettings() { + return this.innerSettings; + } + + /** + * Get the instances property: Set of access review history instances for this history definition. + * + * @return the instances value. + */ + public List instances() { + return this.instances; + } + + /** + * Set the instances property: Set of access review history instances for this history definition. + * + * @param instances the instances value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withInstances(List instances) { + this.instances = instances; + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().userPrincipalName(); + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerSettings() == null ? null : this.innerSettings().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withType(AccessReviewRecurrencePatternType type) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerSettings() == null ? null : this.innerSettings().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withInterval(Integer interval) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerSettings() == null ? null : this.innerSettings().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerSettings() == null ? null : this.innerSettings().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerSettings() == null ? null : this.innerSettings().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withStartDate(OffsetDateTime startDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerSettings() == null ? null : this.innerSettings().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewHistoryDefinitionProperties object itself. + */ + public AccessReviewHistoryDefinitionProperties withEndDate(OffsetDateTime endDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewHistoryScheduleSettings(); + } + this.innerSettings().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerCreatedBy() != null) { + innerCreatedBy().validate(); + } + if (scopes() != null) { + scopes().forEach(e -> e.validate()); + } + if (innerSettings() != null) { + innerSettings().validate(); + } + if (instances() != null) { + instances().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java new file mode 100644 index 0000000000000..f8a2a8d2760d6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java @@ -0,0 +1,211 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review History Definition Instance. */ +@Fluent +public final class AccessReviewHistoryInstanceInner extends ProxyResource { + /* + * Access Review History Definition Instance properties. + */ + @JsonProperty(value = "properties") + private AccessReviewHistoryInstanceProperties innerProperties; + + /** Creates an instance of AccessReviewHistoryInstanceInner class. */ + public AccessReviewHistoryInstanceInner() { + } + + /** + * Get the innerProperties property: Access Review History Definition Instance properties. + * + * @return the innerProperties value. + */ + private AccessReviewHistoryInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodStartDateTime(); + } + + /** + * Set the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @param reviewHistoryPeriodStartDateTime the reviewHistoryPeriodStartDateTime value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withReviewHistoryPeriodStartDateTime( + OffsetDateTime reviewHistoryPeriodStartDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withReviewHistoryPeriodStartDateTime(reviewHistoryPeriodStartDateTime); + return this; + } + + /** + * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodEndDateTime(); + } + + /** + * Set the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @param reviewHistoryPeriodEndDateTime the reviewHistoryPeriodEndDateTime value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withReviewHistoryPeriodEndDateTime( + OffsetDateTime reviewHistoryPeriodEndDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withReviewHistoryPeriodEndDateTime(reviewHistoryPeriodEndDateTime); + return this; + } + + /** + * Get the displayName property: The display name for the parent history definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The display name for the parent history definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the status property: Status of the requested review history instance data. This is either requested, + * in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done -> + * Expired. + * + * @return the status value. + */ + public AccessReviewHistoryDefinitionStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the runDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the runDateTime value. + */ + public OffsetDateTime runDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().runDateTime(); + } + + /** + * Set the runDateTime property: Date time when the history data report is scheduled to be generated. + * + * @param runDateTime the runDateTime value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withRunDateTime(OffsetDateTime runDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withRunDateTime(runDateTime); + return this; + } + + /** + * Get the fulfilledDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the fulfilledDateTime value. + */ + public OffsetDateTime fulfilledDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().fulfilledDateTime(); + } + + /** + * Set the fulfilledDateTime property: Date time when the history data report is scheduled to be generated. + * + * @param fulfilledDateTime the fulfilledDateTime value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withFulfilledDateTime(OffsetDateTime fulfilledDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withFulfilledDateTime(fulfilledDateTime); + return this; + } + + /** + * Get the downloadUri property: Uri which can be used to retrieve review history data. To generate this Uri, + * generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after + * a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri. + * + * @return the downloadUri value. + */ + public String downloadUri() { + return this.innerProperties() == null ? null : this.innerProperties().downloadUri(); + } + + /** + * Get the expiration property: Date time when history data report expires and the associated data is deleted. + * + * @return the expiration value. + */ + public OffsetDateTime expiration() { + return this.innerProperties() == null ? null : this.innerProperties().expiration(); + } + + /** + * Set the expiration property: Date time when history data report expires and the associated data is deleted. + * + * @param expiration the expiration value to set. + * @return the AccessReviewHistoryInstanceInner object itself. + */ + public AccessReviewHistoryInstanceInner withExpiration(OffsetDateTime expiration) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewHistoryInstanceProperties(); + } + this.innerProperties().withExpiration(expiration); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java new file mode 100644 index 0000000000000..9200e251523c9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review History Definition Instance properties. */ +@Fluent +public final class AccessReviewHistoryInstanceProperties { + /* + * Date time used when selecting review data, all reviews included in data start on or after this date. For use + * only with one-time/non-recurring reports. + */ + @JsonProperty(value = "reviewHistoryPeriodStartDateTime") + private OffsetDateTime reviewHistoryPeriodStartDateTime; + + /* + * Date time used when selecting review data, all reviews included in data end on or before this date. For use only + * with one-time/non-recurring reports. + */ + @JsonProperty(value = "reviewHistoryPeriodEndDateTime") + private OffsetDateTime reviewHistoryPeriodEndDateTime; + + /* + * The display name for the parent history definition. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Status of the requested review history instance data. This is either requested, in-progress, done or error. The + * state transitions are as follows - Requested -> InProgress -> Done -> Expired + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewHistoryDefinitionStatus status; + + /* + * Date time when the history data report is scheduled to be generated. + */ + @JsonProperty(value = "runDateTime") + private OffsetDateTime runDateTime; + + /* + * Date time when the history data report is scheduled to be generated. + */ + @JsonProperty(value = "fulfilledDateTime") + private OffsetDateTime fulfilledDateTime; + + /* + * Uri which can be used to retrieve review history data. To generate this Uri, generateDownloadUri() must be + * called for a specific accessReviewHistoryDefinitionInstance. The link expires after a 24 hour period. Callers + * can see the expiration date time by looking at the 'se' parameter in the generated uri. + */ + @JsonProperty(value = "downloadUri", access = JsonProperty.Access.WRITE_ONLY) + private String downloadUri; + + /* + * Date time when history data report expires and the associated data is deleted. + */ + @JsonProperty(value = "expiration") + private OffsetDateTime expiration; + + /** Creates an instance of AccessReviewHistoryInstanceProperties class. */ + public AccessReviewHistoryInstanceProperties() { + } + + /** + * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.reviewHistoryPeriodStartDateTime; + } + + /** + * Set the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @param reviewHistoryPeriodStartDateTime the reviewHistoryPeriodStartDateTime value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withReviewHistoryPeriodStartDateTime( + OffsetDateTime reviewHistoryPeriodStartDateTime) { + this.reviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime; + return this; + } + + /** + * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.reviewHistoryPeriodEndDateTime; + } + + /** + * Set the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @param reviewHistoryPeriodEndDateTime the reviewHistoryPeriodEndDateTime value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withReviewHistoryPeriodEndDateTime( + OffsetDateTime reviewHistoryPeriodEndDateTime) { + this.reviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime; + return this; + } + + /** + * Get the displayName property: The display name for the parent history definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The display name for the parent history definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the status property: Status of the requested review history instance data. This is either requested, + * in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done -> + * Expired. + * + * @return the status value. + */ + public AccessReviewHistoryDefinitionStatus status() { + return this.status; + } + + /** + * Get the runDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the runDateTime value. + */ + public OffsetDateTime runDateTime() { + return this.runDateTime; + } + + /** + * Set the runDateTime property: Date time when the history data report is scheduled to be generated. + * + * @param runDateTime the runDateTime value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withRunDateTime(OffsetDateTime runDateTime) { + this.runDateTime = runDateTime; + return this; + } + + /** + * Get the fulfilledDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the fulfilledDateTime value. + */ + public OffsetDateTime fulfilledDateTime() { + return this.fulfilledDateTime; + } + + /** + * Set the fulfilledDateTime property: Date time when the history data report is scheduled to be generated. + * + * @param fulfilledDateTime the fulfilledDateTime value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withFulfilledDateTime(OffsetDateTime fulfilledDateTime) { + this.fulfilledDateTime = fulfilledDateTime; + return this; + } + + /** + * Get the downloadUri property: Uri which can be used to retrieve review history data. To generate this Uri, + * generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after + * a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri. + * + * @return the downloadUri value. + */ + public String downloadUri() { + return this.downloadUri; + } + + /** + * Get the expiration property: Date time when history data report expires and the associated data is deleted. + * + * @return the expiration value. + */ + public OffsetDateTime expiration() { + return this.expiration; + } + + /** + * Set the expiration property: Date time when history data report expires and the associated data is deleted. + * + * @param expiration the expiration value to set. + * @return the AccessReviewHistoryInstanceProperties object itself. + */ + public AccessReviewHistoryInstanceProperties withExpiration(OffsetDateTime expiration) { + this.expiration = expiration; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java new file mode 100644 index 0000000000000..268179e58016d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java @@ -0,0 +1,207 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Recurrence settings of an Access Review History Definition. */ +@Fluent +public final class AccessReviewHistoryScheduleSettings { + /* + * Access Review History Definition recurrence settings. + */ + @JsonProperty(value = "pattern") + private AccessReviewRecurrencePattern innerPattern; + + /* + * Access Review History Definition recurrence settings. + */ + @JsonProperty(value = "range") + private AccessReviewRecurrenceRange innerRange; + + /** Creates an instance of AccessReviewHistoryScheduleSettings class. */ + public AccessReviewHistoryScheduleSettings() { + } + + /** + * Get the innerPattern property: Access Review History Definition recurrence settings. + * + * @return the innerPattern value. + */ + private AccessReviewRecurrencePattern innerPattern() { + return this.innerPattern; + } + + /** + * Get the innerRange property: Access Review History Definition recurrence settings. + * + * @return the innerRange value. + */ + private AccessReviewRecurrenceRange innerRange() { + return this.innerRange; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerPattern() == null ? null : this.innerPattern().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerPattern() == null ? null : this.innerPattern().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withInterval(Integer interval) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withInterval(interval); + return this; + } + + /** + * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the type value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerRange() == null ? null : this.innerRange().type(); + } + + /** + * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param type the type value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withTypeRangeType(AccessReviewRecurrenceRangeType type) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withType(type); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerRange() == null ? null : this.innerRange().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerRange() == null ? null : this.innerRange().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withStartDate(OffsetDateTime startDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerRange() == null ? null : this.innerRange().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewHistoryScheduleSettings object itself. + */ + public AccessReviewHistoryScheduleSettings withEndDate(OffsetDateTime endDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerPattern() != null) { + innerPattern().validate(); + } + if (innerRange() != null) { + innerRange().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java new file mode 100644 index 0000000000000..f7334b3e92950 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review Instance. */ +@Fluent +public final class AccessReviewInstanceInner extends ProxyResource { + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewInstanceProperties innerProperties; + + /** Creates an instance of AccessReviewInstanceInner class. */ + public AccessReviewInstanceInner() { + } + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + public AccessReviewInstanceStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @param startDateTime the startDateTime value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @param endDateTime the endDateTime value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.innerProperties() == null ? null : this.innerProperties().reviewers(); + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withReviewers(List reviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withReviewers(reviewers); + return this; + } + + /** + * Get the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + public List backupReviewers() { + return this.innerProperties() == null ? null : this.innerProperties().backupReviewers(); + } + + /** + * Set the backupReviewers property: This is the collection of backup reviewers. + * + * @param backupReviewers the backupReviewers value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withBackupReviewers(List backupReviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withBackupReviewers(backupReviewers); + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewInstanceReviewersType reviewersType() { + return this.innerProperties() == null ? null : this.innerProperties().reviewersType(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java new file mode 100644 index 0000000000000..b94bbdbae0867 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review Instance properties. */ +@Fluent +public final class AccessReviewInstanceProperties { + /* + * This read-only field specifies the status of an access review instance. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewInstanceStatus status; + + /* + * The DateTime when the review instance is scheduled to be start. + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The DateTime when the review instance is scheduled to end. + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * This is the collection of reviewers. + */ + @JsonProperty(value = "reviewers") + private List reviewers; + + /* + * This is the collection of backup reviewers. + */ + @JsonProperty(value = "backupReviewers") + private List backupReviewers; + + /* + * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly + * assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For + * example managers review or self review. + */ + @JsonProperty(value = "reviewersType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewInstanceReviewersType reviewersType; + + /** Creates an instance of AccessReviewInstanceProperties class. */ + public AccessReviewInstanceProperties() { + } + + /** + * Get the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + public AccessReviewInstanceStatus status() { + return this.status; + } + + /** + * Get the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @param startDateTime the startDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @param endDateTime the endDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.reviewers; + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withReviewers(List reviewers) { + this.reviewers = reviewers; + return this; + } + + /** + * Get the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + public List backupReviewers() { + return this.backupReviewers; + } + + /** + * Set the backupReviewers property: This is the collection of backup reviewers. + * + * @param backupReviewers the backupReviewers value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withBackupReviewers(List backupReviewers) { + this.backupReviewers = backupReviewers; + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewInstanceReviewersType reviewersType() { + return this.reviewersType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (reviewers() != null) { + reviewers().forEach(e -> e.validate()); + } + if (backupReviewers() != null) { + backupReviewers().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java new file mode 100644 index 0000000000000..6d477c8dd2274 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.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.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Recurrence Pattern of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrencePattern { + /* + * The recurrence type : weekly, monthly, etc. + */ + @JsonProperty(value = "type") + private AccessReviewRecurrencePatternType type; + + /* + * The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. + */ + @JsonProperty(value = "interval") + private Integer interval; + + /** Creates an instance of AccessReviewRecurrencePattern class. */ + public AccessReviewRecurrencePattern() { + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.type; + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewRecurrencePattern object itself. + */ + public AccessReviewRecurrencePattern withType(AccessReviewRecurrencePatternType type) { + this.type = type; + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.interval; + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewRecurrencePattern object itself. + */ + public AccessReviewRecurrencePattern withInterval(Integer interval) { + this.interval = interval; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java new file mode 100644 index 0000000000000..d26c3d1b2184b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Recurrence Range of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrenceRange { + /* + * The recurrence range type. The possible values are: endDate, noEnd, numbered. + */ + @JsonProperty(value = "type") + private AccessReviewRecurrenceRangeType type; + + /* + * The number of times to repeat the access review. Required and must be positive if type is numbered. + */ + @JsonProperty(value = "numberOfOccurrences") + private Integer numberOfOccurrences; + + /* + * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. + */ + @JsonProperty(value = "startDate") + private OffsetDateTime startDate; + + /* + * The DateTime when the review is scheduled to end. Required if type is endDate + */ + @JsonProperty(value = "endDate") + private OffsetDateTime endDate; + + /** Creates an instance of AccessReviewRecurrenceRange class. */ + public AccessReviewRecurrenceRange() { + } + + /** + * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the type value. + */ + public AccessReviewRecurrenceRangeType type() { + return this.type; + } + + /** + * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withType(AccessReviewRecurrenceRangeType type) { + this.type = type; + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.numberOfOccurrences; + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withNumberOfOccurrences(Integer numberOfOccurrences) { + this.numberOfOccurrences = numberOfOccurrences; + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.startDate; + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.endDate; + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java new file mode 100644 index 0000000000000..8e600c94188db --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java @@ -0,0 +1,207 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Recurrence Settings of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrenceSettings { + /* + * Access Review schedule definition recurrence pattern. + */ + @JsonProperty(value = "pattern") + private AccessReviewRecurrencePattern innerPattern; + + /* + * Access Review schedule definition recurrence range. + */ + @JsonProperty(value = "range") + private AccessReviewRecurrenceRange innerRange; + + /** Creates an instance of AccessReviewRecurrenceSettings class. */ + public AccessReviewRecurrenceSettings() { + } + + /** + * Get the innerPattern property: Access Review schedule definition recurrence pattern. + * + * @return the innerPattern value. + */ + private AccessReviewRecurrencePattern innerPattern() { + return this.innerPattern; + } + + /** + * Get the innerRange property: Access Review schedule definition recurrence range. + * + * @return the innerRange value. + */ + private AccessReviewRecurrenceRange innerRange() { + return this.innerRange; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerPattern() == null ? null : this.innerPattern().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerPattern() == null ? null : this.innerPattern().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withInterval(Integer interval) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withInterval(interval); + return this; + } + + /** + * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the type value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerRange() == null ? null : this.innerRange().type(); + } + + /** + * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withTypeRangeType(AccessReviewRecurrenceRangeType type) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withType(type); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerRange() == null ? null : this.innerRange().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerRange() == null ? null : this.innerRange().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withStartDate(OffsetDateTime startDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerRange() == null ? null : this.innerRange().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withEndDate(OffsetDateTime endDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerPattern() != null) { + innerPattern().validate(); + } + if (innerRange() != null) { + innerRange().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java new file mode 100644 index 0000000000000..9ee9372d8eb28 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java @@ -0,0 +1,724 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewScheduleDefinitionInner extends ProxyResource { + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewScheduleDefinitionProperties innerProperties; + + /** Creates an instance of AccessReviewScheduleDefinitionInner class. */ + public AccessReviewScheduleDefinitionInner() { + } + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewScheduleDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The display name for the schedule definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + public AccessReviewScheduleDefinitionStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + public String descriptionForAdmins() { + return this.innerProperties() == null ? null : this.innerProperties().descriptionForAdmins(); + } + + /** + * Set the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @param descriptionForAdmins the descriptionForAdmins value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDescriptionForAdmins(String descriptionForAdmins) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDescriptionForAdmins(descriptionForAdmins); + return this; + } + + /** + * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + public String descriptionForReviewers() { + return this.innerProperties() == null ? null : this.innerProperties().descriptionForReviewers(); + } + + /** + * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @param descriptionForReviewers the descriptionForReviewers value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDescriptionForReviewers(String descriptionForReviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDescriptionForReviewers(descriptionForReviewers); + return this; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.innerProperties() == null ? null : this.innerProperties().reviewers(); + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withReviewers(List reviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withReviewers(reviewers); + return this; + } + + /** + * Get the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + public List backupReviewers() { + return this.innerProperties() == null ? null : this.innerProperties().backupReviewers(); + } + + /** + * Set the backupReviewers property: This is the collection of backup reviewers. + * + * @param backupReviewers the backupReviewers value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withBackupReviewers(List backupReviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withBackupReviewers(backupReviewers); + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.innerProperties() == null ? null : this.innerProperties().reviewersType(); + } + + /** + * Get the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + public List instances() { + return this.innerProperties() == null ? null : this.innerProperties().instances(); + } + + /** + * Set the instances property: This is the collection of instances returned when one does an expand on it. + * + * @param instances the instances value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInstances(List instances) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInstances(instances); + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + public Duration recommendationLookBackDuration() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationLookBackDuration(); + } + + /** + * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration the recommendationLookBackDuration value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withRecommendationLookBackDuration( + Duration recommendationLookBackDuration) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withRecommendationLookBackDuration(recommendationLookBackDuration); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withTypePropertiesType(AccessReviewRecurrencePatternType type) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerProperties() == null ? null : this.innerProperties().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInterval(Integer interval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerProperties() == null ? null : this.innerProperties().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerProperties() == null ? null : this.innerProperties().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withStartDate(OffsetDateTime startDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerProperties() == null ? null : this.innerProperties().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withEndDate(OffsetDateTime endDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withEndDate(endDate); + return this; + } + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.innerProperties() == null ? null : this.innerProperties().resourceId(); + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Get the principalTypeScopePrincipalType property: The identity type user/servicePrincipal to review. + * + * @return the principalTypeScopePrincipalType value. + */ + public AccessReviewScopePrincipalType principalTypeScopePrincipalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalTypeScopePrincipalType(); + } + + /** + * Get the assignmentState property: The role assignment state eligible/active to review. + * + * @return the assignmentState value. + */ + public AccessReviewScopeAssignmentState assignmentState() { + return this.innerProperties() == null ? null : this.innerProperties().assignmentState(); + } + + /** + * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the inactiveDuration value. + */ + public Duration inactiveDuration() { + return this.innerProperties() == null ? null : this.innerProperties().inactiveDuration(); + } + + /** + * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @return the expandNestedMemberships value. + */ + public Boolean expandNestedMemberships() { + return this.innerProperties() == null ? null : this.innerProperties().expandNestedMemberships(); + } + + /** + * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeInheritedAccess value. + */ + public Boolean includeInheritedAccess() { + return this.innerProperties() == null ? null : this.innerProperties().includeInheritedAccess(); + } + + /** + * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeAccessBelowResource value. + */ + public Boolean includeAccessBelowResource() { + return this.innerProperties() == null ? null : this.innerProperties().includeAccessBelowResource(); + } + + /** + * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @return the excludeResourceId value. + */ + public String excludeResourceId() { + return this.innerProperties() == null ? null : this.innerProperties().excludeResourceId(); + } + + /** + * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @return the excludeRoleDefinitionId value. + */ + public String excludeRoleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().excludeRoleDefinitionId(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java new file mode 100644 index 0000000000000..834bdd5a7ef93 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java @@ -0,0 +1,889 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review. */ +@Fluent +public final class AccessReviewScheduleDefinitionProperties { + /* + * The display name for the schedule definition. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * This read-only field specifies the status of an accessReview. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScheduleDefinitionStatus status; + + /* + * The description provided by the access review creator and visible to admins. + */ + @JsonProperty(value = "descriptionForAdmins") + private String descriptionForAdmins; + + /* + * The description provided by the access review creator to be shown to reviewers. + */ + @JsonProperty(value = "descriptionForReviewers") + private String descriptionForReviewers; + + /* + * The user or other identity who created this review. + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerCreatedBy; + + /* + * Access Review Settings. + */ + @JsonProperty(value = "settings") + private AccessReviewScheduleSettings innerSettings; + + /* + * This is used to define what to include in scope of the review. The scope definition includes the resourceId and + * roleDefinitionId. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScope innerScope; + + /* + * This is the collection of reviewers. + */ + @JsonProperty(value = "reviewers") + private List reviewers; + + /* + * This is the collection of backup reviewers. + */ + @JsonProperty(value = "backupReviewers") + private List backupReviewers; + + /* + * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly + * assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For + * example managers review or self review. + */ + @JsonProperty(value = "reviewersType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScheduleDefinitionReviewersType reviewersType; + + /* + * This is the collection of instances returned when one does an expand on it. + */ + @JsonProperty(value = "instances") + private List instances; + + /** Creates an instance of AccessReviewScheduleDefinitionProperties class. */ + public AccessReviewScheduleDefinitionProperties() { + } + + /** + * Get the displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The display name for the schedule definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + public AccessReviewScheduleDefinitionStatus status() { + return this.status; + } + + /** + * Get the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + public String descriptionForAdmins() { + return this.descriptionForAdmins; + } + + /** + * Set the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @param descriptionForAdmins the descriptionForAdmins value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDescriptionForAdmins(String descriptionForAdmins) { + this.descriptionForAdmins = descriptionForAdmins; + return this; + } + + /** + * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + public String descriptionForReviewers() { + return this.descriptionForReviewers; + } + + /** + * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @param descriptionForReviewers the descriptionForReviewers value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDescriptionForReviewers(String descriptionForReviewers) { + this.descriptionForReviewers = descriptionForReviewers; + return this; + } + + /** + * Get the innerCreatedBy property: The user or other identity who created this review. + * + * @return the innerCreatedBy value. + */ + private AccessReviewActorIdentity innerCreatedBy() { + return this.innerCreatedBy; + } + + /** + * Get the innerSettings property: Access Review Settings. + * + * @return the innerSettings value. + */ + private AccessReviewScheduleSettings innerSettings() { + return this.innerSettings; + } + + /** + * Get the innerScope property: This is used to define what to include in scope of the review. The scope definition + * includes the resourceId and roleDefinitionId. + * + * @return the innerScope value. + */ + private AccessReviewScope innerScope() { + return this.innerScope; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.reviewers; + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withReviewers(List reviewers) { + this.reviewers = reviewers; + return this; + } + + /** + * Get the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + public List backupReviewers() { + return this.backupReviewers; + } + + /** + * Set the backupReviewers property: This is the collection of backup reviewers. + * + * @param backupReviewers the backupReviewers value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withBackupReviewers(List backupReviewers) { + this.backupReviewers = backupReviewers; + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.reviewersType; + } + + /** + * Get the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + public List instances() { + return this.instances; + } + + /** + * Set the instances property: This is the collection of instances returned when one does an expand on it. + * + * @param instances the instances value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInstances(List instances) { + this.instances = instances; + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().userPrincipalName(); + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withReminderNotificationsEnabled( + Boolean reminderNotificationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerSettings() == null ? null : this.innerSettings().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerSettings() == null ? null : this.innerSettings().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + public Duration recommendationLookBackDuration() { + return this.innerSettings() == null ? null : this.innerSettings().recommendationLookBackDuration(); + } + + /** + * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration the recommendationLookBackDuration value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withRecommendationLookBackDuration( + Duration recommendationLookBackDuration) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withRecommendationLookBackDuration(recommendationLookBackDuration); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerSettings() == null ? null : this.innerSettings().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerSettings() == null ? null : this.innerSettings().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withType(AccessReviewRecurrencePatternType type) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerSettings() == null ? null : this.innerSettings().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInterval(Integer interval) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerSettings() == null ? null : this.innerSettings().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerSettings() == null ? null : this.innerSettings().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerSettings() == null ? null : this.innerSettings().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withStartDate(OffsetDateTime startDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerSettings() == null ? null : this.innerSettings().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withEndDate(OffsetDateTime endDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withEndDate(endDate); + return this; + } + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.innerScope() == null ? null : this.innerScope().resourceId(); + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerScope() == null ? null : this.innerScope().roleDefinitionId(); + } + + /** + * Get the principalType property: The identity type user/servicePrincipal to review. + * + * @return the principalType value. + */ + public AccessReviewScopePrincipalType principalTypeScopePrincipalType() { + return this.innerScope() == null ? null : this.innerScope().principalType(); + } + + /** + * Get the assignmentState property: The role assignment state eligible/active to review. + * + * @return the assignmentState value. + */ + public AccessReviewScopeAssignmentState assignmentState() { + return this.innerScope() == null ? null : this.innerScope().assignmentState(); + } + + /** + * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the inactiveDuration value. + */ + public Duration inactiveDuration() { + return this.innerScope() == null ? null : this.innerScope().inactiveDuration(); + } + + /** + * Set the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param inactiveDuration the inactiveDuration value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInactiveDuration(Duration inactiveDuration) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withInactiveDuration(inactiveDuration); + return this; + } + + /** + * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @return the expandNestedMemberships value. + */ + public Boolean expandNestedMemberships() { + return this.innerScope() == null ? null : this.innerScope().expandNestedMemberships(); + } + + /** + * Set the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @param expandNestedMemberships the expandNestedMemberships value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withExpandNestedMemberships(Boolean expandNestedMemberships) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withExpandNestedMemberships(expandNestedMemberships); + return this; + } + + /** + * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeInheritedAccess value. + */ + public Boolean includeInheritedAccess() { + return this.innerScope() == null ? null : this.innerScope().includeInheritedAccess(); + } + + /** + * Set the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @param includeInheritedAccess the includeInheritedAccess value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withIncludeInheritedAccess(Boolean includeInheritedAccess) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withIncludeInheritedAccess(includeInheritedAccess); + return this; + } + + /** + * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeAccessBelowResource value. + */ + public Boolean includeAccessBelowResource() { + return this.innerScope() == null ? null : this.innerScope().includeAccessBelowResource(); + } + + /** + * Set the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @param includeAccessBelowResource the includeAccessBelowResource value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withIncludeAccessBelowResource(Boolean includeAccessBelowResource) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withIncludeAccessBelowResource(includeAccessBelowResource); + return this; + } + + /** + * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @return the excludeResourceId value. + */ + public String excludeResourceId() { + return this.innerScope() == null ? null : this.innerScope().excludeResourceId(); + } + + /** + * Set the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @param excludeResourceId the excludeResourceId value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withExcludeResourceId(String excludeResourceId) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withExcludeResourceId(excludeResourceId); + return this; + } + + /** + * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @return the excludeRoleDefinitionId value. + */ + public String excludeRoleDefinitionId() { + return this.innerScope() == null ? null : this.innerScope().excludeRoleDefinitionId(); + } + + /** + * Set the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @param excludeRoleDefinitionId the excludeRoleDefinitionId value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withExcludeRoleDefinitionId(String excludeRoleDefinitionId) { + if (this.innerScope() == null) { + this.innerScope = new AccessReviewScope(); + } + this.innerScope().withExcludeRoleDefinitionId(excludeRoleDefinitionId); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerCreatedBy() != null) { + innerCreatedBy().validate(); + } + if (innerSettings() != null) { + innerSettings().validate(); + } + if (innerScope() != null) { + innerScope().validate(); + } + if (reviewers() != null) { + reviewers().forEach(e -> e.validate()); + } + if (backupReviewers() != null) { + backupReviewers().forEach(e -> e.validate()); + } + if (instances() != null) { + instances().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java new file mode 100644 index 0000000000000..d23ecaae60726 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java @@ -0,0 +1,456 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.Duration; +import java.time.OffsetDateTime; + +/** Settings of an Access Review. */ +@Fluent +public final class AccessReviewScheduleSettings { + /* + * Flag to indicate whether sending mails to reviewers and the review creator is enabled. + */ + @JsonProperty(value = "mailNotificationsEnabled") + private Boolean mailNotificationsEnabled; + + /* + * Flag to indicate whether sending reminder emails to reviewers are enabled. + */ + @JsonProperty(value = "reminderNotificationsEnabled") + private Boolean reminderNotificationsEnabled; + + /* + * Flag to indicate whether reviewers are required to provide a justification when reviewing access. + */ + @JsonProperty(value = "defaultDecisionEnabled") + private Boolean defaultDecisionEnabled; + + /* + * Flag to indicate whether the reviewer is required to pass justification when recording a decision. + */ + @JsonProperty(value = "justificationRequiredOnApproval") + private Boolean justificationRequiredOnApproval; + + /* + * This specifies the behavior for the autoReview feature when an access review completes. + */ + @JsonProperty(value = "defaultDecision") + private DefaultDecisionType defaultDecision; + + /* + * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is + * enabled. If not enabled, a user must, after the review completes, apply the access review. + */ + @JsonProperty(value = "autoApplyDecisionsEnabled") + private Boolean autoApplyDecisionsEnabled; + + /* + * Flag to indicate whether showing recommendations to reviewers is enabled. + */ + @JsonProperty(value = "recommendationsEnabled") + private Boolean recommendationsEnabled; + + /* + * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the + * review) by default. However, in some scenarios, customers want to change how far back to look at and want to + * configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value + * should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert + * TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) + */ + @JsonProperty(value = "recommendationLookBackDuration") + private Duration recommendationLookBackDuration; + + /* + * The duration in days for an instance. + */ + @JsonProperty(value = "instanceDurationInDays") + private Integer instanceDurationInDays; + + /* + * Access Review Settings. + */ + @JsonProperty(value = "recurrence") + private AccessReviewRecurrenceSettings innerRecurrence; + + /** Creates an instance of AccessReviewScheduleSettings class. */ + public AccessReviewScheduleSettings() { + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.mailNotificationsEnabled; + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + this.mailNotificationsEnabled = mailNotificationsEnabled; + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.reminderNotificationsEnabled; + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + this.reminderNotificationsEnabled = reminderNotificationsEnabled; + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.defaultDecisionEnabled; + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + this.defaultDecisionEnabled = defaultDecisionEnabled; + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.justificationRequiredOnApproval; + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval) { + this.justificationRequiredOnApproval = justificationRequiredOnApproval; + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.defaultDecision; + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecision(DefaultDecisionType defaultDecision) { + this.defaultDecision = defaultDecision; + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.autoApplyDecisionsEnabled; + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + this.autoApplyDecisionsEnabled = autoApplyDecisionsEnabled; + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.recommendationsEnabled; + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withRecommendationsEnabled(Boolean recommendationsEnabled) { + this.recommendationsEnabled = recommendationsEnabled; + return this; + } + + /** + * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + public Duration recommendationLookBackDuration() { + return this.recommendationLookBackDuration; + } + + /** + * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration the recommendationLookBackDuration value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withRecommendationLookBackDuration(Duration recommendationLookBackDuration) { + this.recommendationLookBackDuration = recommendationLookBackDuration; + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.instanceDurationInDays; + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInstanceDurationInDays(Integer instanceDurationInDays) { + this.instanceDurationInDays = instanceDurationInDays; + return this; + } + + /** + * Get the innerRecurrence property: Access Review Settings. + * + * @return the innerRecurrence value. + */ + private AccessReviewRecurrenceSettings innerRecurrence() { + return this.innerRecurrence; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInterval(Integer interval) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withInterval(interval); + return this; + } + + /** + * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().typeRangeType(); + } + + /** + * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param typeRangeType the typeRangeType value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withTypeRangeType(typeRangeType); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withStartDate(OffsetDateTime startDate) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withEndDate(OffsetDateTime endDate) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerRecurrence() != null) { + innerRecurrence().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java new file mode 100644 index 0000000000000..f62cfd4bbdf4d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java @@ -0,0 +1,249 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.Duration; + +/** Descriptor for what needs to be reviewed. */ +@Fluent +public final class AccessReviewScope { + /* + * ResourceId in which this review is getting created + */ + @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY) + private String resourceId; + + /* + * This is used to indicate the role being reviewed + */ + @JsonProperty(value = "roleDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String roleDefinitionId; + + /* + * The identity type user/servicePrincipal to review + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScopePrincipalType principalType; + + /* + * The role assignment state eligible/active to review + */ + @JsonProperty(value = "assignmentState", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScopeAssignmentState assignmentState; + + /* + * Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) + */ + @JsonProperty(value = "inactiveDuration") + private Duration inactiveDuration; + + /* + * Flag to indicate whether to expand nested memberships or not. + */ + @JsonProperty(value = "expandNestedMemberships") + private Boolean expandNestedMemberships; + + /* + * Flag to indicate whether to expand nested memberships or not. + */ + @JsonProperty(value = "includeInheritedAccess") + private Boolean includeInheritedAccess; + + /* + * Flag to indicate whether to expand nested memberships or not. + */ + @JsonProperty(value = "includeAccessBelowResource") + private Boolean includeAccessBelowResource; + + /* + * This is used to indicate the resource id(s) to exclude + */ + @JsonProperty(value = "excludeResourceId") + private String excludeResourceId; + + /* + * This is used to indicate the role definition id(s) to exclude + */ + @JsonProperty(value = "excludeRoleDefinitionId") + private String excludeRoleDefinitionId; + + /** Creates an instance of AccessReviewScope class. */ + public AccessReviewScope() { + } + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Get the principalType property: The identity type user/servicePrincipal to review. + * + * @return the principalType value. + */ + public AccessReviewScopePrincipalType principalType() { + return this.principalType; + } + + /** + * Get the assignmentState property: The role assignment state eligible/active to review. + * + * @return the assignmentState value. + */ + public AccessReviewScopeAssignmentState assignmentState() { + return this.assignmentState; + } + + /** + * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the inactiveDuration value. + */ + public Duration inactiveDuration() { + return this.inactiveDuration; + } + + /** + * Set the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param inactiveDuration the inactiveDuration value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withInactiveDuration(Duration inactiveDuration) { + this.inactiveDuration = inactiveDuration; + return this; + } + + /** + * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @return the expandNestedMemberships value. + */ + public Boolean expandNestedMemberships() { + return this.expandNestedMemberships; + } + + /** + * Set the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @param expandNestedMemberships the expandNestedMemberships value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withExpandNestedMemberships(Boolean expandNestedMemberships) { + this.expandNestedMemberships = expandNestedMemberships; + return this; + } + + /** + * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeInheritedAccess value. + */ + public Boolean includeInheritedAccess() { + return this.includeInheritedAccess; + } + + /** + * Set the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @param includeInheritedAccess the includeInheritedAccess value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withIncludeInheritedAccess(Boolean includeInheritedAccess) { + this.includeInheritedAccess = includeInheritedAccess; + return this; + } + + /** + * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeAccessBelowResource value. + */ + public Boolean includeAccessBelowResource() { + return this.includeAccessBelowResource; + } + + /** + * Set the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @param includeAccessBelowResource the includeAccessBelowResource value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withIncludeAccessBelowResource(Boolean includeAccessBelowResource) { + this.includeAccessBelowResource = includeAccessBelowResource; + return this; + } + + /** + * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @return the excludeResourceId value. + */ + public String excludeResourceId() { + return this.excludeResourceId; + } + + /** + * Set the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @param excludeResourceId the excludeResourceId value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withExcludeResourceId(String excludeResourceId) { + this.excludeResourceId = excludeResourceId; + return this; + } + + /** + * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @return the excludeRoleDefinitionId value. + */ + public String excludeRoleDefinitionId() { + return this.excludeRoleDefinitionId; + } + + /** + * Set the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @param excludeRoleDefinitionId the excludeRoleDefinitionId value to set. + * @return the AccessReviewScope object itself. + */ + public AccessReviewScope withExcludeRoleDefinitionId(String excludeRoleDefinitionId) { + this.excludeRoleDefinitionId = excludeRoleDefinitionId; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java new file mode 100644 index 0000000000000..1837cbde64d85 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Alert configuration. */ +@Fluent +public final class AlertConfigurationInner { + /* + * The alert configuration ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The alert configuration name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The alert configuration type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Alert configuration properties. + */ + @JsonProperty(value = "properties") + private AlertConfigurationPropertiesInner properties; + + /** Creates an instance of AlertConfigurationInner class. */ + public AlertConfigurationInner() { + } + + /** + * Get the id property: The alert configuration ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The alert configuration name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The alert configuration type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the properties property: Alert configuration properties. + * + * @return the properties value. + */ + public AlertConfigurationPropertiesInner properties() { + return this.properties; + } + + /** + * Set the properties property: Alert configuration properties. + * + * @param properties the properties value to set. + * @return the AlertConfigurationInner object itself. + */ + public AlertConfigurationInner withProperties(AlertConfigurationPropertiesInner properties) { + this.properties = properties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (properties() != null) { + properties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.java new file mode 100644 index 0000000000000..f8fc7a28a6031 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.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.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AzureRolesAssignedOutsidePimAlertConfigurationProperties; +import com.azure.resourcemanager.authorization.generated.models.DuplicateRoleCreatedAlertConfigurationProperties; +import com.azure.resourcemanager.authorization.generated.models.TooManyOwnersAssignedToResourceAlertConfigurationProperties; +import com.azure.resourcemanager.authorization.generated.models.TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Alert configuration properties. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "alertConfigurationType", + defaultImpl = AlertConfigurationPropertiesInner.class) +@JsonTypeName("AlertConfigurationProperties") +@JsonSubTypes({ + @JsonSubTypes.Type( + name = "AzureRolesAssignedOutsidePimAlertConfiguration", + value = AzureRolesAssignedOutsidePimAlertConfigurationProperties.class), + @JsonSubTypes.Type( + name = "DuplicateRoleCreatedAlertConfiguration", + value = DuplicateRoleCreatedAlertConfigurationProperties.class), + @JsonSubTypes.Type( + name = "TooManyOwnersAssignedToResourceAlertConfiguration", + value = TooManyOwnersAssignedToResourceAlertConfigurationProperties.class), + @JsonSubTypes.Type( + name = "TooManyPermanentOwnersAssignedToResourceAlertConfiguration", + value = TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties.class) +}) +@Fluent +public class AlertConfigurationPropertiesInner { + /* + * The alert definition ID. + */ + @JsonProperty(value = "alertDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String alertDefinitionId; + + /* + * The alert scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * True if the alert is enabled, false will disable the scanning for the specific alert. + */ + @JsonProperty(value = "isEnabled") + private Boolean isEnabled; + + /* + * The alert definition. + */ + @JsonProperty(value = "alertDefinition", access = JsonProperty.Access.WRITE_ONLY) + private AlertDefinitionInner alertDefinition; + + /** Creates an instance of AlertConfigurationPropertiesInner class. */ + public AlertConfigurationPropertiesInner() { + } + + /** + * Get the alertDefinitionId property: The alert definition ID. + * + * @return the alertDefinitionId value. + */ + public String alertDefinitionId() { + return this.alertDefinitionId; + } + + /** + * Get the scope property: The alert scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the isEnabled property: True if the alert is enabled, false will disable the scanning for the specific alert. + * + * @return the isEnabled value. + */ + public Boolean isEnabled() { + return this.isEnabled; + } + + /** + * Set the isEnabled property: True if the alert is enabled, false will disable the scanning for the specific alert. + * + * @param isEnabled the isEnabled value to set. + * @return the AlertConfigurationPropertiesInner object itself. + */ + public AlertConfigurationPropertiesInner withIsEnabled(Boolean isEnabled) { + this.isEnabled = isEnabled; + return this; + } + + /** + * Get the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + public AlertDefinitionInner alertDefinition() { + return this.alertDefinition; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (alertDefinition() != null) { + alertDefinition().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java new file mode 100644 index 0000000000000..5308c0b75ca5a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java @@ -0,0 +1,169 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.resourcemanager.authorization.generated.models.SeverityLevel; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Alert definition. */ +@Immutable +public final class AlertDefinitionInner { + /* + * The alert definition ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The alert definition name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The alert definition type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Alert definition properties. + */ + @JsonProperty(value = "properties") + private AlertDefinitionProperties innerProperties; + + /** Creates an instance of AlertDefinitionInner class. */ + public AlertDefinitionInner() { + } + + /** + * Get the id property: The alert definition ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The alert definition name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The alert definition type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Alert definition properties. + * + * @return the innerProperties value. + */ + private AlertDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the displayName property: The alert display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Get the scope property: The alert scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the description property: The alert description. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Get the severityLevel property: Severity level of the alert. + * + * @return the severityLevel value. + */ + public SeverityLevel severityLevel() { + return this.innerProperties() == null ? null : this.innerProperties().severityLevel(); + } + + /** + * Get the securityImpact property: Security impact of the alert. + * + * @return the securityImpact value. + */ + public String securityImpact() { + return this.innerProperties() == null ? null : this.innerProperties().securityImpact(); + } + + /** + * Get the mitigationSteps property: The methods to mitigate the alert. + * + * @return the mitigationSteps value. + */ + public String mitigationSteps() { + return this.innerProperties() == null ? null : this.innerProperties().mitigationSteps(); + } + + /** + * Get the howToPrevent property: The ways to prevent the alert. + * + * @return the howToPrevent value. + */ + public String howToPrevent() { + return this.innerProperties() == null ? null : this.innerProperties().howToPrevent(); + } + + /** + * Get the isRemediatable property: True if the alert can be remediated; false, otherwise. + * + * @return the isRemediatable value. + */ + public Boolean isRemediatable() { + return this.innerProperties() == null ? null : this.innerProperties().isRemediatable(); + } + + /** + * Get the isConfigurable property: True if the alert configuration can be configured; false, otherwise. + * + * @return the isConfigurable value. + */ + public Boolean isConfigurable() { + return this.innerProperties() == null ? null : this.innerProperties().isConfigurable(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java new file mode 100644 index 0000000000000..d9df588a202b8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.resourcemanager.authorization.generated.models.SeverityLevel; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Alert definition properties. */ +@Immutable +public final class AlertDefinitionProperties { + /* + * The alert display name. + */ + @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY) + private String displayName; + + /* + * The alert scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The alert description. + */ + @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY) + private String description; + + /* + * Severity level of the alert. + */ + @JsonProperty(value = "severityLevel", access = JsonProperty.Access.WRITE_ONLY) + private SeverityLevel severityLevel; + + /* + * Security impact of the alert. + */ + @JsonProperty(value = "securityImpact", access = JsonProperty.Access.WRITE_ONLY) + private String securityImpact; + + /* + * The methods to mitigate the alert. + */ + @JsonProperty(value = "mitigationSteps", access = JsonProperty.Access.WRITE_ONLY) + private String mitigationSteps; + + /* + * The ways to prevent the alert. + */ + @JsonProperty(value = "howToPrevent", access = JsonProperty.Access.WRITE_ONLY) + private String howToPrevent; + + /* + * True if the alert can be remediated; false, otherwise. + */ + @JsonProperty(value = "isRemediatable", access = JsonProperty.Access.WRITE_ONLY) + private Boolean isRemediatable; + + /* + * True if the alert configuration can be configured; false, otherwise. + */ + @JsonProperty(value = "isConfigurable", access = JsonProperty.Access.WRITE_ONLY) + private Boolean isConfigurable; + + /** Creates an instance of AlertDefinitionProperties class. */ + public AlertDefinitionProperties() { + } + + /** + * Get the displayName property: The alert display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Get the scope property: The alert scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the description property: The alert description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Get the severityLevel property: Severity level of the alert. + * + * @return the severityLevel value. + */ + public SeverityLevel severityLevel() { + return this.severityLevel; + } + + /** + * Get the securityImpact property: Security impact of the alert. + * + * @return the securityImpact value. + */ + public String securityImpact() { + return this.securityImpact; + } + + /** + * Get the mitigationSteps property: The methods to mitigate the alert. + * + * @return the mitigationSteps value. + */ + public String mitigationSteps() { + return this.mitigationSteps; + } + + /** + * Get the howToPrevent property: The ways to prevent the alert. + * + * @return the howToPrevent value. + */ + public String howToPrevent() { + return this.howToPrevent; + } + + /** + * Get the isRemediatable property: True if the alert can be remediated; false, otherwise. + * + * @return the isRemediatable value. + */ + public Boolean isRemediatable() { + return this.isRemediatable; + } + + /** + * Get the isConfigurable property: True if the alert configuration can be configured; false, otherwise. + * + * @return the isConfigurable value. + */ + public Boolean isConfigurable() { + return this.isConfigurable; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java new file mode 100644 index 0000000000000..0ed4c72c19f9e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AlertIncidentProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Alert incident. */ +@Fluent +public final class AlertIncidentInner { + /* + * The alert incident ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The alert incident name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The alert incident type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Alert incident properties. + */ + @JsonProperty(value = "properties") + private AlertIncidentProperties properties; + + /** Creates an instance of AlertIncidentInner class. */ + public AlertIncidentInner() { + } + + /** + * Get the id property: The alert incident ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The alert incident name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The alert incident type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the properties property: Alert incident properties. + * + * @return the properties value. + */ + public AlertIncidentProperties properties() { + return this.properties; + } + + /** + * Set the properties property: Alert incident properties. + * + * @param properties the properties value to set. + * @return the AlertIncidentInner object itself. + */ + public AlertIncidentInner withProperties(AlertIncidentProperties properties) { + this.properties = properties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (properties() != null) { + properties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java new file mode 100644 index 0000000000000..3326de2d32a54 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** The alert. */ +@Fluent +public final class AlertInner { + /* + * The alert ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The alert name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The alert type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Alert properties. + */ + @JsonProperty(value = "properties") + private AlertPropertiesInner innerProperties; + + /** Creates an instance of AlertInner class. */ + public AlertInner() { + } + + /** + * Get the id property: The alert ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The alert name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The alert type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Alert properties. + * + * @return the innerProperties value. + */ + private AlertPropertiesInner innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The alert scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the isActive property: False by default; true if the alert is active. + * + * @return the isActive value. + */ + public Boolean isActive() { + return this.innerProperties() == null ? null : this.innerProperties().isActive(); + } + + /** + * Set the isActive property: False by default; true if the alert is active. + * + * @param isActive the isActive value to set. + * @return the AlertInner object itself. + */ + public AlertInner withIsActive(Boolean isActive) { + if (this.innerProperties() == null) { + this.innerProperties = new AlertPropertiesInner(); + } + this.innerProperties().withIsActive(isActive); + return this; + } + + /** + * Get the incidentCount property: The number of generated incidents of the alert. + * + * @return the incidentCount value. + */ + public Integer incidentCount() { + return this.innerProperties() == null ? null : this.innerProperties().incidentCount(); + } + + /** + * Get the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents + * were generated. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().lastModifiedDateTime(); + } + + /** + * Get the lastScannedDateTime property: The date time when the alert was last scanned. + * + * @return the lastScannedDateTime value. + */ + public OffsetDateTime lastScannedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().lastScannedDateTime(); + } + + /** + * Get the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + public AlertDefinitionInner alertDefinition() { + return this.innerProperties() == null ? null : this.innerProperties().alertDefinition(); + } + + /** + * Get the alertIncidents property: The alert incidents. + * + * @return the alertIncidents value. + */ + public List alertIncidents() { + return this.innerProperties() == null ? null : this.innerProperties().alertIncidents(); + } + + /** + * Get the alertConfiguration property: The alert configuration. + * + * @return the alertConfiguration value. + */ + public AlertConfigurationInner alertConfiguration() { + return this.innerProperties() == null ? null : this.innerProperties().alertConfiguration(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.java new file mode 100644 index 0000000000000..aa838064980f1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.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.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Alert operation result. */ +@Immutable +public final class AlertOperationResultInner { + /* + * The id of the alert operation. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The status of the alert operation. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private String status; + + /* + * The status detail of the alert operation. + */ + @JsonProperty(value = "statusDetail", access = JsonProperty.Access.WRITE_ONLY) + private String statusDetail; + + /* + * The created date of the alert operation. + */ + @JsonProperty(value = "createdDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdDateTime; + + /* + * The last action date of the alert operation. + */ + @JsonProperty(value = "lastActionDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastActionDateTime; + + /* + * The location of the alert associated with the operation. + */ + @JsonProperty(value = "resourceLocation", access = JsonProperty.Access.WRITE_ONLY) + private String resourceLocation; + + /** Creates an instance of AlertOperationResultInner class. */ + public AlertOperationResultInner() { + } + + /** + * Get the id property: The id of the alert operation. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the status property: The status of the alert operation. + * + * @return the status value. + */ + public String status() { + return this.status; + } + + /** + * Get the statusDetail property: The status detail of the alert operation. + * + * @return the statusDetail value. + */ + public String statusDetail() { + return this.statusDetail; + } + + /** + * Get the createdDateTime property: The created date of the alert operation. + * + * @return the createdDateTime value. + */ + public OffsetDateTime createdDateTime() { + return this.createdDateTime; + } + + /** + * Get the lastActionDateTime property: The last action date of the alert operation. + * + * @return the lastActionDateTime value. + */ + public OffsetDateTime lastActionDateTime() { + return this.lastActionDateTime; + } + + /** + * Get the resourceLocation property: The location of the alert associated with the operation. + * + * @return the resourceLocation value. + */ + public String resourceLocation() { + return this.resourceLocation; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java new file mode 100644 index 0000000000000..f0910a845faf4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java @@ -0,0 +1,167 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Alert properties. */ +@Fluent +public final class AlertPropertiesInner { + /* + * The alert scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * False by default; true if the alert is active. + */ + @JsonProperty(value = "isActive") + private Boolean isActive; + + /* + * The number of generated incidents of the alert. + */ + @JsonProperty(value = "incidentCount", access = JsonProperty.Access.WRITE_ONLY) + private Integer incidentCount; + + /* + * The date time when the alert configuration was updated or new incidents were generated. + */ + @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastModifiedDateTime; + + /* + * The date time when the alert was last scanned. + */ + @JsonProperty(value = "lastScannedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastScannedDateTime; + + /* + * The alert definition. + */ + @JsonProperty(value = "alertDefinition", access = JsonProperty.Access.WRITE_ONLY) + private AlertDefinitionInner alertDefinition; + + /* + * The alert incidents. + */ + @JsonProperty(value = "alertIncidents", access = JsonProperty.Access.WRITE_ONLY) + private List alertIncidents; + + /* + * The alert configuration. + */ + @JsonProperty(value = "alertConfiguration", access = JsonProperty.Access.WRITE_ONLY) + private AlertConfigurationInner alertConfiguration; + + /** Creates an instance of AlertPropertiesInner class. */ + public AlertPropertiesInner() { + } + + /** + * Get the scope property: The alert scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the isActive property: False by default; true if the alert is active. + * + * @return the isActive value. + */ + public Boolean isActive() { + return this.isActive; + } + + /** + * Set the isActive property: False by default; true if the alert is active. + * + * @param isActive the isActive value to set. + * @return the AlertPropertiesInner object itself. + */ + public AlertPropertiesInner withIsActive(Boolean isActive) { + this.isActive = isActive; + return this; + } + + /** + * Get the incidentCount property: The number of generated incidents of the alert. + * + * @return the incidentCount value. + */ + public Integer incidentCount() { + return this.incidentCount; + } + + /** + * Get the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents + * were generated. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.lastModifiedDateTime; + } + + /** + * Get the lastScannedDateTime property: The date time when the alert was last scanned. + * + * @return the lastScannedDateTime value. + */ + public OffsetDateTime lastScannedDateTime() { + return this.lastScannedDateTime; + } + + /** + * Get the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + public AlertDefinitionInner alertDefinition() { + return this.alertDefinition; + } + + /** + * Get the alertIncidents property: The alert incidents. + * + * @return the alertIncidents value. + */ + public List alertIncidents() { + return this.alertIncidents; + } + + /** + * Get the alertConfiguration property: The alert configuration. + * + * @return the alertConfiguration value. + */ + public AlertConfigurationInner alertConfiguration() { + return this.alertConfiguration; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (alertDefinition() != null) { + alertDefinition().validate(); + } + if (alertIncidents() != null) { + alertIncidents().forEach(e -> e.validate()); + } + if (alertConfiguration() != null) { + alertConfiguration().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java new file mode 100644 index 0000000000000..fa6a17168fde8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.OperationDisplay; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The definition of a Microsoft.Authorization operation. */ +@Fluent +public final class OperationInner { + /* + * Name of the operation + */ + @JsonProperty(value = "name") + private String name; + + /* + * Indicates whether the operation is a data action + */ + @JsonProperty(value = "isDataAction") + private Boolean isDataAction; + + /* + * Display of the operation + */ + @JsonProperty(value = "display") + private OperationDisplay display; + + /* + * Origin of the operation + */ + @JsonProperty(value = "origin") + 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; + } + + /** + * Set the name property: Name of the operation. + * + * @param name the name value to set. + * @return the OperationInner object itself. + */ + public OperationInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get the isDataAction property: Indicates whether the operation is a data action. + * + * @return the isDataAction value. + */ + public Boolean isDataAction() { + return this.isDataAction; + } + + /** + * Set the isDataAction property: Indicates whether the operation is a data action. + * + * @param isDataAction the isDataAction value to set. + * @return the OperationInner object itself. + */ + public OperationInner withIsDataAction(Boolean isDataAction) { + this.isDataAction = isDataAction; + return this; + } + + /** + * Get the display property: Display of the operation. + * + * @return the display value. + */ + public OperationDisplay display() { + return this.display; + } + + /** + * Set the display property: Display of the operation. + * + * @param display the display value to set. + * @return the OperationInner object itself. + */ + public OperationInner withDisplay(OperationDisplay display) { + this.display = display; + return this; + } + + /** + * Get the origin property: Origin of the operation. + * + * @return the origin value. + */ + public String origin() { + return this.origin; + } + + /** + * Set the origin property: Origin of the operation. + * + * @param origin the origin value to set. + * @return the OperationInner object itself. + */ + public OperationInner withOrigin(String origin) { + this.origin = origin; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (display() != null) { + display().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java new file mode 100644 index 0000000000000..778f02ae93c82 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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 AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.fluent.models; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java new file mode 100644 index 0000000000000..e4a5da680dfa8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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 AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.fluent; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.java new file mode 100644 index 0000000000000..f4b623dbe7a3c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.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.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer; +import java.time.OffsetDateTime; + +public final class AccessReviewContactedReviewerImpl implements AccessReviewContactedReviewer { + private AccessReviewContactedReviewerInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewContactedReviewerImpl( + AccessReviewContactedReviewerInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String userDisplayName() { + return this.innerModel().userDisplayName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public OffsetDateTime createdDateTime() { + return this.innerModel().createdDateTime(); + } + + public AccessReviewContactedReviewerInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java new file mode 100644 index 0000000000000..b43ff3000071b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; + +public final class AccessReviewDecisionImpl implements AccessReviewDecision { + private AccessReviewDecisionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewDecisionImpl( + AccessReviewDecisionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AccessReviewDecisionIdentity principal() { + return this.innerModel().principal(); + } + + public AccessRecommendationType recommendation() { + return this.innerModel().recommendation(); + } + + public AccessReviewResult decision() { + return this.innerModel().decision(); + } + + public String justification() { + return this.innerModel().justification(); + } + + public OffsetDateTime reviewedDateTime() { + return this.innerModel().reviewedDateTime(); + } + + public AccessReviewApplyResult applyResult() { + return this.innerModel().applyResult(); + } + + public OffsetDateTime appliedDateTime() { + return this.innerModel().appliedDateTime(); + } + + public List insights() { + List inner = this.innerModel().insights(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public DecisionResourceType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public String idPropertiesId() { + return this.innerModel().idPropertiesId(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public AccessReviewActorIdentityType principalType() { + return this.innerModel().principalType(); + } + + public String principalName() { + return this.innerModel().principalName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public String principalIdAppliedByPrincipalId() { + return this.innerModel().principalIdAppliedByPrincipalId(); + } + + public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() { + return this.innerModel().principalTypeAppliedByPrincipalType(); + } + + public String principalNameAppliedByPrincipalName() { + return this.innerModel().principalNameAppliedByPrincipalName(); + } + + public String userPrincipalNameAppliedByUserPrincipalName() { + return this.innerModel().userPrincipalNameAppliedByUserPrincipalName(); + } + + public List membershipTypes() { + List inner = this.innerModel().membershipTypes(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public AccessReviewDecisionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java new file mode 100644 index 0000000000000..fa4e23360395e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import java.time.Duration; +import java.time.OffsetDateTime; + +public final class AccessReviewDefaultSettingsImpl implements AccessReviewDefaultSettings { + private AccessReviewDefaultSettingsInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewDefaultSettingsImpl( + AccessReviewDefaultSettingsInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public Boolean mailNotificationsEnabled() { + return this.innerModel().mailNotificationsEnabled(); + } + + public Boolean reminderNotificationsEnabled() { + return this.innerModel().reminderNotificationsEnabled(); + } + + public Boolean defaultDecisionEnabled() { + return this.innerModel().defaultDecisionEnabled(); + } + + public Boolean justificationRequiredOnApproval() { + return this.innerModel().justificationRequiredOnApproval(); + } + + public DefaultDecisionType defaultDecision() { + return this.innerModel().defaultDecision(); + } + + public Boolean autoApplyDecisionsEnabled() { + return this.innerModel().autoApplyDecisionsEnabled(); + } + + public Boolean recommendationsEnabled() { + return this.innerModel().recommendationsEnabled(); + } + + public Duration recommendationLookBackDuration() { + return this.innerModel().recommendationLookBackDuration(); + } + + public Integer instanceDurationInDays() { + return this.innerModel().instanceDurationInDays(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerModel().typeRangeType(); + } + + public Integer numberOfOccurrences() { + return this.innerModel().numberOfOccurrences(); + } + + public OffsetDateTime startDate() { + return this.innerModel().startDate(); + } + + public OffsetDateTime endDate() { + return this.innerModel().endDate(); + } + + public AccessReviewDefaultSettingsInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java new file mode 100644 index 0000000000000..2aab67236f331 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java @@ -0,0 +1,316 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +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.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.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewDefaultSettingsOperationsClient. + */ +public final class AccessReviewDefaultSettingsOperationsClientImpl + implements AccessReviewDefaultSettingsOperationsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewDefaultSettingsOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewDefaultSettingsOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewDefaultSettingsOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewDefaultSettingsOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewDefaultSettingsOperations to + * be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewDefaultSettingsOperationsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> put( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewScheduleSettings properties, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review default settings for 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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync() { + 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for 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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context); + } + + /** + * Get access review default settings for 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 access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync() { + return getWithResponseAsync().flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review default settings for 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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(Context context) { + return getWithResponseAsync(context).block(); + } + + /** + * Get access review default settings for 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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner get() { + return getWithResponse(Context.NONE).getValue(); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> putWithResponseAsync( + AccessReviewScheduleSettings properties) { + 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 (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .put( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> putWithResponseAsync( + AccessReviewScheduleSettings properties, 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 (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .put(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, properties, accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono putAsync(AccessReviewScheduleSettings properties) { + return putWithResponseAsync(properties).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response putWithResponse( + AccessReviewScheduleSettings properties, Context context) { + return putWithResponseAsync(properties, context).block(); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties) { + return putWithResponse(properties, Context.NONE).getValue(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java new file mode 100644 index 0000000000000..5ed28085c0b9c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations; + +public final class AccessReviewDefaultSettingsOperationsImpl implements AccessReviewDefaultSettingsOperations { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewDefaultSettingsOperationsImpl.class); + + private final AccessReviewDefaultSettingsOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewDefaultSettingsOperationsImpl( + AccessReviewDefaultSettingsOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(Context context) { + Response inner = this.serviceClient().getWithResponse(context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDefaultSettings get() { + AccessReviewDefaultSettingsInner inner = this.serviceClient().get(); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response putWithResponse( + AccessReviewScheduleSettings properties, Context context) { + Response inner = this.serviceClient().putWithResponse(properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties) { + AccessReviewDefaultSettingsInner inner = this.serviceClient().put(properties); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewDefaultSettingsOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java new file mode 100644 index 0000000000000..d9e1f493b9cf7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java @@ -0,0 +1,230 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScope; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class AccessReviewHistoryDefinitionImpl + implements AccessReviewHistoryDefinition, AccessReviewHistoryDefinition.Definition { + private AccessReviewHistoryDefinitionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewHistoryDefinitionImpl( + AccessReviewHistoryDefinitionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.innerModel().reviewHistoryPeriodStartDateTime(); + } + + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.innerModel().reviewHistoryPeriodEndDateTime(); + } + + public List decisions() { + List inner = this.innerModel().decisions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public AccessReviewHistoryDefinitionStatus status() { + return this.innerModel().status(); + } + + public OffsetDateTime createdDateTime() { + return this.innerModel().createdDateTime(); + } + + public List scopes() { + List inner = this.innerModel().scopes(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List instances() { + List inner = this.innerModel().instances(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public AccessReviewActorIdentityType principalType() { + return this.innerModel().principalType(); + } + + public String principalName() { + return this.innerModel().principalName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerModel().typeRangeType(); + } + + public Integer numberOfOccurrences() { + return this.innerModel().numberOfOccurrences(); + } + + public OffsetDateTime startDate() { + return this.innerModel().startDate(); + } + + public OffsetDateTime endDate() { + return this.innerModel().endDate(); + } + + public AccessReviewHistoryDefinitionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String historyDefinitionId; + + private AccessReviewHistoryDefinitionProperties createProperties; + + public AccessReviewHistoryDefinition create() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewHistoryDefinitionOperations() + .createWithResponse(historyDefinitionId, createProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewHistoryDefinition create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewHistoryDefinitionOperations() + .createWithResponse(historyDefinitionId, createProperties, context) + .getValue(); + return this; + } + + AccessReviewHistoryDefinitionImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new AccessReviewHistoryDefinitionInner(); + this.serviceManager = serviceManager; + this.historyDefinitionId = name; + this.createProperties = new AccessReviewHistoryDefinitionProperties(); + } + + public AccessReviewHistoryDefinitionImpl withDisplayName(String displayName) { + this.createProperties.withDisplayName(displayName); + return this; + } + + public AccessReviewHistoryDefinitionImpl withDecisions(List decisions) { + this.createProperties.withDecisions(decisions); + return this; + } + + public AccessReviewHistoryDefinitionImpl withScopes(List scopes) { + this.createProperties.withScopes(scopes); + return this; + } + + public AccessReviewHistoryDefinitionImpl withInstances(List instances) { + this.createProperties.withInstances(instances); + return this; + } + + public AccessReviewHistoryDefinitionImpl withType(AccessReviewRecurrencePatternType type) { + this.createProperties.withType(type); + return this; + } + + public AccessReviewHistoryDefinitionImpl withInterval(Integer interval) { + this.createProperties.withInterval(interval); + return this; + } + + public AccessReviewHistoryDefinitionImpl withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + this.createProperties.withTypeRangeType(typeRangeType); + return this; + } + + public AccessReviewHistoryDefinitionImpl withNumberOfOccurrences(Integer numberOfOccurrences) { + this.createProperties.withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + public AccessReviewHistoryDefinitionImpl withStartDate(OffsetDateTime startDate) { + this.createProperties.withStartDate(startDate); + return this; + } + + public AccessReviewHistoryDefinitionImpl withEndDate(OffsetDateTime endDate) { + this.createProperties.withEndDate(endDate); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java new file mode 100644 index 0000000000000..646bd4197f385 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java @@ -0,0 +1,228 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +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.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionInstancesClient. + */ +public final class AccessReviewHistoryDefinitionInstancesClientImpl + implements AccessReviewHistoryDefinitionInstancesClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewHistoryDefinitionInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewHistoryDefinitionInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewHistoryDefinitionInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewHistoryDefinitionInstancesService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitionInstances + * to be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewHistoryDefinitionInstancesService { + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances/{instanceId}/generateDownloadUri") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> generateDownloadUri( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("historyDefinitionId") String historyDefinitionId, + @PathParam("instanceId") String instanceId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> generateDownloadUriWithResponseAsync( + String historyDefinitionId, String instanceId) { + 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (instanceId == null) { + return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .generateDownloadUri( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + instanceId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> generateDownloadUriWithResponseAsync( + String historyDefinitionId, String instanceId, 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (instanceId == null) { + return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .generateDownloadUri( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + instanceId, + apiVersion, + accept, + context); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono generateDownloadUriAsync( + String historyDefinitionId, String instanceId) { + return generateDownloadUriWithResponseAsync(historyDefinitionId, instanceId) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response generateDownloadUriWithResponse( + String historyDefinitionId, String instanceId, Context context) { + return generateDownloadUriWithResponseAsync(historyDefinitionId, instanceId, context).block(); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryInstanceInner generateDownloadUri(String historyDefinitionId, String instanceId) { + return generateDownloadUriWithResponse(historyDefinitionId, instanceId, Context.NONE).getValue(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.java new file mode 100644 index 0000000000000..4c4d018d2e513 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstances; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; + +public final class AccessReviewHistoryDefinitionInstancesImpl implements AccessReviewHistoryDefinitionInstances { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionInstancesImpl.class); + + private final AccessReviewHistoryDefinitionInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewHistoryDefinitionInstancesImpl( + AccessReviewHistoryDefinitionInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response generateDownloadUriWithResponse( + String historyDefinitionId, String instanceId, Context context) { + Response inner = + this.serviceClient().generateDownloadUriWithResponse(historyDefinitionId, instanceId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewHistoryInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewHistoryInstance generateDownloadUri(String historyDefinitionId, String instanceId) { + AccessReviewHistoryInstanceInner inner = + this.serviceClient().generateDownloadUri(historyDefinitionId, instanceId); + if (inner != null) { + return new AccessReviewHistoryInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewHistoryDefinitionInstancesClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java new file mode 100644 index 0000000000000..1433bf3140624 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java @@ -0,0 +1,335 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstanceListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionInstancesOperationsClient. + */ +public final class AccessReviewHistoryDefinitionInstancesOperationsClientImpl + implements AccessReviewHistoryDefinitionInstancesOperationsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewHistoryDefinitionInstancesOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewHistoryDefinitionInstancesOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewHistoryDefinitionInstancesOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewHistoryDefinitionInstancesOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientAccessReviewHistoryDefinitionInstancesOperations to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewHistoryDefinitionInstancesOperationsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("historyDefinitionId") String historyDefinitionId, + @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); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String historyDefinitionId) { + 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + 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 access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String historyDefinitionId, 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String historyDefinitionId) { + return new PagedFlux<>( + () -> listSinglePageAsync(historyDefinitionId), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String historyDefinitionId, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(historyDefinitionId, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String historyDefinitionId) { + return new PagedIterable<>(listAsync(historyDefinitionId)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String historyDefinitionId, Context context) { + return new PagedIterable<>(listAsync(historyDefinitionId, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review History Instances 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 + *

The nextLink parameter. + * @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 list of Access Review History Instances 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.java new file mode 100644 index 0000000000000..cbf1260caa6e8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstancesOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; + +public final class AccessReviewHistoryDefinitionInstancesOperationsImpl + implements AccessReviewHistoryDefinitionInstancesOperations { + private static final ClientLogger LOGGER = + new ClientLogger(AccessReviewHistoryDefinitionInstancesOperationsImpl.class); + + private final AccessReviewHistoryDefinitionInstancesOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewHistoryDefinitionInstancesOperationsImpl( + AccessReviewHistoryDefinitionInstancesOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String historyDefinitionId) { + PagedIterable inner = this.serviceClient().list(historyDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String historyDefinitionId, Context context) { + PagedIterable inner = this.serviceClient().list(historyDefinitionId, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager())); + } + + private AccessReviewHistoryDefinitionInstancesOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java new file mode 100644 index 0000000000000..7a81c0afc8b86 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java @@ -0,0 +1,368 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +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.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.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.authorization.generated.fluent.AccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewHistoryDefinitionOperationsClient. + */ +public final class AccessReviewHistoryDefinitionOperationsClientImpl + implements AccessReviewHistoryDefinitionOperationsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewHistoryDefinitionOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewHistoryDefinitionOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewHistoryDefinitionOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewHistoryDefinitionOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitionOperations + * to be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewHistoryDefinitionOperationsService { + @Headers({"Content-Type: application/json"}) + @Put( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("historyDefinitionId") String historyDefinitionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewHistoryDefinitionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("historyDefinitionId") String historyDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + properties, + accept, + context); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + return createWithResponseAsync(historyDefinitionId, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) { + return createWithResponseAsync(historyDefinitionId, properties, context).block(); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryDefinitionInner create( + String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + return createWithResponse(historyDefinitionId, properties, Context.NONE).getValue(); + } + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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> deleteByIdWithResponseAsync(String historyDefinitionId) { + 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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> deleteByIdWithResponseAsync(String historyDefinitionId, 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .deleteById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + accept, + context); + } + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdAsync(String historyDefinitionId) { + return deleteByIdWithResponseAsync(historyDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdWithResponse(String historyDefinitionId, Context context) { + return deleteByIdWithResponseAsync(historyDefinitionId, context).block(); + } + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteById(String historyDefinitionId) { + deleteByIdWithResponse(historyDefinitionId, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.java new file mode 100644 index 0000000000000..264cdc501ff80 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.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.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionOperations; + +public final class AccessReviewHistoryDefinitionOperationsImpl implements AccessReviewHistoryDefinitionOperations { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionOperationsImpl.class); + + private final AccessReviewHistoryDefinitionOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewHistoryDefinitionOperationsImpl( + AccessReviewHistoryDefinitionOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response deleteByIdWithResponse(String historyDefinitionId, Context context) { + return this.serviceClient().deleteByIdWithResponse(historyDefinitionId, context); + } + + public void deleteById(String historyDefinitionId) { + this.serviceClient().deleteById(historyDefinitionId); + } + + private AccessReviewHistoryDefinitionOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public AccessReviewHistoryDefinitionImpl define(String name) { + return new AccessReviewHistoryDefinitionImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java new file mode 100644 index 0000000000000..a12ce7f665f7c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java @@ -0,0 +1,479 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewHistoryDefinitionsClient. */ +public final class AccessReviewHistoryDefinitionsClientImpl implements AccessReviewHistoryDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewHistoryDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewHistoryDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewHistoryDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewHistoryDefinitionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewHistoryDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("historyDefinitionId") String historyDefinitionId, + @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 the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + filter, + 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 the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String historyDefinitionId) { + 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String historyDefinitionId, 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 (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + historyDefinitionId, + apiVersion, + accept, + context); + } + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String historyDefinitionId) { + return getByIdWithResponseAsync(historyDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String historyDefinitionId, Context context) { + return getByIdWithResponseAsync(historyDefinitionId, context).block(); + } + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryDefinitionInner getById(String historyDefinitionId) { + return getByIdWithResponse(historyDefinitionId, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review History Definitions 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 + *

The nextLink parameter. + * @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 list of Access Review History Definitions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.java new file mode 100644 index 0000000000000..f3436c15aa834 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitions; + +public final class AccessReviewHistoryDefinitionsImpl implements AccessReviewHistoryDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionsImpl.class); + + private final AccessReviewHistoryDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewHistoryDefinitionsImpl( + AccessReviewHistoryDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse(String historyDefinitionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(historyDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewHistoryDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewHistoryDefinition getById(String historyDefinitionId) { + AccessReviewHistoryDefinitionInner inner = this.serviceClient().getById(historyDefinitionId); + if (inner != null) { + return new AccessReviewHistoryDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewHistoryDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java new file mode 100644 index 0000000000000..214c86e05bb7d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; +import java.time.OffsetDateTime; + +public final class AccessReviewHistoryInstanceImpl implements AccessReviewHistoryInstance { + private AccessReviewHistoryInstanceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewHistoryInstanceImpl( + AccessReviewHistoryInstanceInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public OffsetDateTime reviewHistoryPeriodStartDateTime() { + return this.innerModel().reviewHistoryPeriodStartDateTime(); + } + + public OffsetDateTime reviewHistoryPeriodEndDateTime() { + return this.innerModel().reviewHistoryPeriodEndDateTime(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public AccessReviewHistoryDefinitionStatus status() { + return this.innerModel().status(); + } + + public OffsetDateTime runDateTime() { + return this.innerModel().runDateTime(); + } + + public OffsetDateTime fulfilledDateTime() { + return this.innerModel().fulfilledDateTime(); + } + + public String downloadUri() { + return this.innerModel().downloadUri(); + } + + public OffsetDateTime expiration() { + return this.innerModel().expiration(); + } + + public AccessReviewHistoryInstanceInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java new file mode 100644 index 0000000000000..63cd1d4ef2913 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java @@ -0,0 +1,350 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewerListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstanceContactedReviewersClient. + */ +public final class AccessReviewInstanceContactedReviewersClientImpl + implements AccessReviewInstanceContactedReviewersClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceContactedReviewersService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceContactedReviewersClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceContactedReviewersClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceContactedReviewersService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceContactedReviewers + * to be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstanceContactedReviewersService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @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); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + 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 access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String id, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scheduleDefinitionId, String id, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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 + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.java new file mode 100644 index 0000000000000..2c1ffa889fcd2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceContactedReviewers; + +public final class AccessReviewInstanceContactedReviewersImpl implements AccessReviewInstanceContactedReviewers { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceContactedReviewersImpl.class); + + private final AccessReviewInstanceContactedReviewersClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceContactedReviewersImpl( + AccessReviewInstanceContactedReviewersClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, id, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + private AccessReviewInstanceContactedReviewersClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java new file mode 100644 index 0000000000000..d2f5fcf5771b4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java @@ -0,0 +1,381 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */ +public final class AccessReviewInstanceDecisionsClientImpl implements AccessReviewInstanceDecisionsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceDecisionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceDecisionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceDecisionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceDecisionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceDecisions to be used + * by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstanceDecisionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @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); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, String filter) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + filter, + 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 access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, String filter, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + filter, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review decisions 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 + *

The nextLink parameter. + * @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 list of access review decisions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java new file mode 100644 index 0000000000000..c34194624a1f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions; + +public final class AccessReviewInstanceDecisionsImpl implements AccessReviewInstanceDecisions { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceDecisionsImpl.class); + + private final AccessReviewInstanceDecisionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceDecisionsImpl( + AccessReviewInstanceDecisionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, id, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + private AccessReviewInstanceDecisionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java new file mode 100644 index 0000000000000..2ce04afee32ba --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; + +public final class AccessReviewInstanceImpl implements AccessReviewInstance, AccessReviewInstance.Definition { + private AccessReviewInstanceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewInstanceImpl( + AccessReviewInstanceInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AccessReviewInstanceStatus status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public List reviewers() { + List inner = this.innerModel().reviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List backupReviewers() { + List inner = this.innerModel().backupReviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public AccessReviewInstanceReviewersType reviewersType() { + return this.innerModel().reviewersType(); + } + + public AccessReviewInstanceInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scheduleDefinitionId; + + private String id; + + private AccessReviewInstanceProperties createProperties; + + public AccessReviewInstanceImpl withExistingAccessReviewScheduleDefinition(String scheduleDefinitionId) { + this.scheduleDefinitionId = scheduleDefinitionId; + return this; + } + + public AccessReviewInstance create() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewInstances() + .createWithResponse(scheduleDefinitionId, id, createProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewInstance create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewInstances() + .createWithResponse(scheduleDefinitionId, id, createProperties, context) + .getValue(); + return this; + } + + AccessReviewInstanceImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new AccessReviewInstanceInner(); + this.serviceManager = serviceManager; + this.id = name; + this.createProperties = new AccessReviewInstanceProperties(); + } + + public AccessReviewInstance refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewInstances() + .getByIdWithResponse(scheduleDefinitionId, id, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewInstance refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewInstances() + .getByIdWithResponse(scheduleDefinitionId, id, context) + .getValue(); + return this; + } + + public AccessReviewInstanceImpl withStartDateTime(OffsetDateTime startDateTime) { + this.createProperties.withStartDateTime(startDateTime); + return this; + } + + public AccessReviewInstanceImpl withEndDateTime(OffsetDateTime endDateTime) { + this.createProperties.withEndDateTime(endDateTime); + return this; + } + + public AccessReviewInstanceImpl withReviewers(List reviewers) { + this.createProperties.withReviewers(reviewers); + return this; + } + + public AccessReviewInstanceImpl withBackupReviewers(List backupReviewers) { + this.createProperties.withBackupReviewers(backupReviewers); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java new file mode 100644 index 0000000000000..716a36b5d6f43 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java @@ -0,0 +1,692 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.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.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.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */ +public final class AccessReviewInstanceMyDecisionsClientImpl implements AccessReviewInstanceMyDecisionsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceMyDecisionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceMyDecisionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceMyDecisionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceMyDecisionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceMyDecisions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstanceMyDecisionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions/{decisionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @PathParam("decisionId") String decisionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Patch( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions/{decisionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> patch( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @PathParam("decisionId") String decisionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewDecisionProperties properties, + @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); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, filter, 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 my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter, context)); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, String decisionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, String decisionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById(this.client.getEndpoint(), scheduleDefinitionId, id, decisionId, apiVersion, accept, context); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id, String decisionId) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId, context).block(); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId) { + return getByIdWithResponse(scheduleDefinitionId, id, decisionId, Context.NONE).getValue(); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> patchWithResponseAsync( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> patchWithResponseAsync( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono patchAsync( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context) { + return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties, context).block(); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDecisionInner patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + return patchWithResponse(scheduleDefinitionId, id, decisionId, properties, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review decisions 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 + *

The nextLink parameter. + * @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 list of access review decisions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java new file mode 100644 index 0000000000000..5c6ad468188b1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions; + +public final class AccessReviewInstanceMyDecisionsImpl implements AccessReviewInstanceMyDecisions { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceMyDecisionsImpl.class); + + private final AccessReviewInstanceMyDecisionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceMyDecisionsImpl( + AccessReviewInstanceMyDecisionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, id, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, decisionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDecisionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDecision getById(String scheduleDefinitionId, String id, String decisionId) { + AccessReviewDecisionInner inner = this.serviceClient().getById(scheduleDefinitionId, id, decisionId); + if (inner != null) { + return new AccessReviewDecisionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context) { + Response inner = + this.serviceClient().patchWithResponse(scheduleDefinitionId, id, decisionId, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDecisionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDecision patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + AccessReviewDecisionInner inner = this.serviceClient().patch(scheduleDefinitionId, id, decisionId, properties); + if (inner != null) { + return new AccessReviewDecisionImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewInstanceMyDecisionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java new file mode 100644 index 0000000000000..c0adfc52a4ec6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java @@ -0,0 +1,800 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +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.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */ +public final class AccessReviewInstanceOperationsClientImpl implements AccessReviewInstanceOperationsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceOperations to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstanceOperationsService { + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/resetDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> resetDecisions( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/applyDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> applyDecisions( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/sendReminders") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> sendReminders( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/acceptRecommendations") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> acceptRecommendations( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> stopWithResponseAsync(String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> stopWithResponseAsync(String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .stop( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopAsync(String scheduleDefinitionId, String id) { + return stopWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scheduleDefinitionId, String id, Context context) { + return stopWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scheduleDefinitionId, String id) { + stopWithResponse(scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> resetDecisionsWithResponseAsync(String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .resetDecisions( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> resetDecisionsWithResponseAsync( + String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .resetDecisions( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsAsync(String scheduleDefinitionId, String id) { + return resetDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return resetDecisionsWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scheduleDefinitionId, String id) { + resetDecisionsWithResponse(scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> applyDecisionsWithResponseAsync(String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .applyDecisions( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> applyDecisionsWithResponseAsync( + String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .applyDecisions( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsAsync(String scheduleDefinitionId, String id) { + return applyDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return applyDecisionsWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scheduleDefinitionId, String id) { + applyDecisionsWithResponse(scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> sendRemindersWithResponseAsync(String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .sendReminders( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> sendRemindersWithResponseAsync( + String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .sendReminders( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersAsync(String scheduleDefinitionId, String id) { + return sendRemindersWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context) { + return sendRemindersWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scheduleDefinitionId, String id) { + sendRemindersWithResponse(scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> acceptRecommendationsWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .acceptRecommendations( + this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> acceptRecommendationsWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .acceptRecommendations(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendationsAsync(String scheduleDefinitionId, String id) { + return acceptRecommendationsWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context) { + return acceptRecommendationsWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendations(String scheduleDefinitionId, String id) { + acceptRecommendationsWithResponse(scheduleDefinitionId, id, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java new file mode 100644 index 0000000000000..7b8cf55977de4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceOperations; + +public final class AccessReviewInstanceOperationsImpl implements AccessReviewInstanceOperations { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceOperationsImpl.class); + + private final AccessReviewInstanceOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceOperationsImpl( + AccessReviewInstanceOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response stopWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().stopWithResponse(scheduleDefinitionId, id, context); + } + + public void stop(String scheduleDefinitionId, String id) { + this.serviceClient().stop(scheduleDefinitionId, id); + } + + public Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().resetDecisionsWithResponse(scheduleDefinitionId, id, context); + } + + public void resetDecisions(String scheduleDefinitionId, String id) { + this.serviceClient().resetDecisions(scheduleDefinitionId, id); + } + + public Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().applyDecisionsWithResponse(scheduleDefinitionId, id, context); + } + + public void applyDecisions(String scheduleDefinitionId, String id) { + this.serviceClient().applyDecisions(scheduleDefinitionId, id); + } + + public Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().sendRemindersWithResponse(scheduleDefinitionId, id, context); + } + + public void sendReminders(String scheduleDefinitionId, String id) { + this.serviceClient().sendReminders(scheduleDefinitionId, id); + } + + public Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().acceptRecommendationsWithResponse(scheduleDefinitionId, id, context); + } + + public void acceptRecommendations(String scheduleDefinitionId, String id) { + this.serviceClient().acceptRecommendations(scheduleDefinitionId, id); + } + + private AccessReviewInstanceOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java new file mode 100644 index 0000000000000..453b8c3709289 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,468 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstancesAssignedForMyApprovalsClient. + */ +public final class AccessReviewInstancesAssignedForMyApprovalsClientImpl + implements AccessReviewInstancesAssignedForMyApprovalsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstancesAssignedForMyApprovalsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstancesAssignedForMyApprovalsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstancesAssignedForMyApprovalsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstancesAssignedForMyApprovalsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientAccessReviewInstancesAssignedForMyApprovals to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstancesAssignedForMyApprovalsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @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); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, filter, 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 access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter, context)); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.getById(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id) { + return getByIdWithResponseAsync(scheduleDefinitionId, id).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner getById(String scheduleDefinitionId, String id) { + return getByIdWithResponse(scheduleDefinitionId, id, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Instances 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 + *

The nextLink parameter. + * @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 list of Access Review Instances 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java new file mode 100644 index 0000000000000..a0ce71377834d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstancesAssignedForMyApprovals; + +public final class AccessReviewInstancesAssignedForMyApprovalsImpl + implements AccessReviewInstancesAssignedForMyApprovals { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstancesAssignedForMyApprovalsImpl.class); + + private final AccessReviewInstancesAssignedForMyApprovalsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstancesAssignedForMyApprovalsImpl( + AccessReviewInstancesAssignedForMyApprovalsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewInstance getById(String scheduleDefinitionId, String id) { + AccessReviewInstanceInner inner = this.serviceClient().getById(scheduleDefinitionId, id); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewInstancesAssignedForMyApprovalsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java new file mode 100644 index 0000000000000..72c2b1a75051f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java @@ -0,0 +1,696 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +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.authorization.generated.fluent.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstancesClient. */ +public final class AccessReviewInstancesClientImpl implements AccessReviewInstancesClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(AccessReviewInstancesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstances to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewInstancesService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewInstanceProperties properties, + @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); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + filter, + 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 access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + filter, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter, context)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId, String id) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + accept, + context); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id) { + return getByIdWithResponseAsync(scheduleDefinitionId, id).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner getById(String scheduleDefinitionId, String id) { + return getByIdWithResponse(scheduleDefinitionId, id, Context.NONE).getValue(); + } + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + id, + apiVersion, + properties, + accept, + context); + } + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + return createWithResponseAsync(scheduleDefinitionId, id, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties, Context context) { + return createWithResponseAsync(scheduleDefinitionId, id, properties, context).block(); + } + + /** + * Update access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner create( + String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + return createWithResponse(scheduleDefinitionId, id, properties, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Instances 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 + *

The nextLink parameter. + * @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 list of Access Review Instances 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java new file mode 100644 index 0000000000000..10c13d0d20a38 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstances; + +public final class AccessReviewInstancesImpl implements AccessReviewInstances { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstancesImpl.class); + + private final AccessReviewInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstancesImpl( + AccessReviewInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewInstance getById(String scheduleDefinitionId, String id) { + AccessReviewInstanceInner inner = this.serviceClient().getById(scheduleDefinitionId, id); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + private AccessReviewInstancesClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public AccessReviewInstanceImpl define(String name) { + return new AccessReviewInstanceImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java new file mode 100644 index 0000000000000..91215bb0e581a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java @@ -0,0 +1,535 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class AccessReviewScheduleDefinitionImpl + implements AccessReviewScheduleDefinition, + AccessReviewScheduleDefinition.Definition, + AccessReviewScheduleDefinition.Update { + private AccessReviewScheduleDefinitionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public AccessReviewScheduleDefinitionStatus status() { + return this.innerModel().status(); + } + + public String descriptionForAdmins() { + return this.innerModel().descriptionForAdmins(); + } + + public String descriptionForReviewers() { + return this.innerModel().descriptionForReviewers(); + } + + public List reviewers() { + List inner = this.innerModel().reviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List backupReviewers() { + List inner = this.innerModel().backupReviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.innerModel().reviewersType(); + } + + public List instances() { + List inner = this.innerModel().instances(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public AccessReviewActorIdentityType principalType() { + return this.innerModel().principalType(); + } + + public String principalName() { + return this.innerModel().principalName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public Boolean mailNotificationsEnabled() { + return this.innerModel().mailNotificationsEnabled(); + } + + public Boolean reminderNotificationsEnabled() { + return this.innerModel().reminderNotificationsEnabled(); + } + + public Boolean defaultDecisionEnabled() { + return this.innerModel().defaultDecisionEnabled(); + } + + public Boolean justificationRequiredOnApproval() { + return this.innerModel().justificationRequiredOnApproval(); + } + + public DefaultDecisionType defaultDecision() { + return this.innerModel().defaultDecision(); + } + + public Boolean autoApplyDecisionsEnabled() { + return this.innerModel().autoApplyDecisionsEnabled(); + } + + public Boolean recommendationsEnabled() { + return this.innerModel().recommendationsEnabled(); + } + + public Duration recommendationLookBackDuration() { + return this.innerModel().recommendationLookBackDuration(); + } + + public Integer instanceDurationInDays() { + return this.innerModel().instanceDurationInDays(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerModel().typeRangeType(); + } + + public Integer numberOfOccurrences() { + return this.innerModel().numberOfOccurrences(); + } + + public OffsetDateTime startDate() { + return this.innerModel().startDate(); + } + + public OffsetDateTime endDate() { + return this.innerModel().endDate(); + } + + public String resourceId() { + return this.innerModel().resourceId(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public AccessReviewScopePrincipalType principalTypeScopePrincipalType() { + return this.innerModel().principalTypeScopePrincipalType(); + } + + public AccessReviewScopeAssignmentState assignmentState() { + return this.innerModel().assignmentState(); + } + + public Duration inactiveDuration() { + return this.innerModel().inactiveDuration(); + } + + public Boolean expandNestedMemberships() { + return this.innerModel().expandNestedMemberships(); + } + + public Boolean includeInheritedAccess() { + return this.innerModel().includeInheritedAccess(); + } + + public Boolean includeAccessBelowResource() { + return this.innerModel().includeAccessBelowResource(); + } + + public String excludeResourceId() { + return this.innerModel().excludeResourceId(); + } + + public String excludeRoleDefinitionId() { + return this.innerModel().excludeRoleDefinitionId(); + } + + public AccessReviewScheduleDefinitionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scheduleDefinitionId; + + private AccessReviewScheduleDefinitionProperties createProperties; + + private AccessReviewScheduleDefinitionProperties updateProperties; + + public AccessReviewScheduleDefinition create() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, createProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, createProperties, context) + .getValue(); + return this; + } + + AccessReviewScheduleDefinitionImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new AccessReviewScheduleDefinitionInner(); + this.serviceManager = serviceManager; + this.scheduleDefinitionId = name; + this.createProperties = new AccessReviewScheduleDefinitionProperties(); + } + + public AccessReviewScheduleDefinitionImpl update() { + this.updateProperties = new AccessReviewScheduleDefinitionProperties(); + return this; + } + + public AccessReviewScheduleDefinition apply() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, updateProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition apply(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, updateProperties, context) + .getValue(); + return this; + } + + AccessReviewScheduleDefinitionImpl( + AccessReviewScheduleDefinitionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + this.scheduleDefinitionId = Utils.getValueFromIdByName(innerObject.id(), "accessReviewScheduleDefinitions"); + } + + public AccessReviewScheduleDefinition refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .getByIdWithResponse(scheduleDefinitionId, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .getByIdWithResponse(scheduleDefinitionId, context) + .getValue(); + return this; + } + + public Response stopWithResponse(Context context) { + return serviceManager.accessReviewScheduleDefinitions().stopWithResponse(scheduleDefinitionId, context); + } + + public void stop() { + serviceManager.accessReviewScheduleDefinitions().stop(scheduleDefinitionId); + } + + public AccessReviewScheduleDefinitionImpl withDisplayName(String displayName) { + if (isInCreateMode()) { + this.createProperties.withDisplayName(displayName); + return this; + } else { + this.updateProperties.withDisplayName(displayName); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDescriptionForAdmins(String descriptionForAdmins) { + if (isInCreateMode()) { + this.createProperties.withDescriptionForAdmins(descriptionForAdmins); + return this; + } else { + this.updateProperties.withDescriptionForAdmins(descriptionForAdmins); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDescriptionForReviewers(String descriptionForReviewers) { + if (isInCreateMode()) { + this.createProperties.withDescriptionForReviewers(descriptionForReviewers); + return this; + } else { + this.updateProperties.withDescriptionForReviewers(descriptionForReviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withReviewers(List reviewers) { + if (isInCreateMode()) { + this.createProperties.withReviewers(reviewers); + return this; + } else { + this.updateProperties.withReviewers(reviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withBackupReviewers(List backupReviewers) { + if (isInCreateMode()) { + this.createProperties.withBackupReviewers(backupReviewers); + return this; + } else { + this.updateProperties.withBackupReviewers(backupReviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInstances(List instances) { + if (isInCreateMode()) { + this.createProperties.withInstances(instances); + return this; + } else { + this.updateProperties.withInstances(instances); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } else { + this.updateProperties.withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } else { + this.updateProperties.withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (isInCreateMode()) { + this.createProperties.withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } else { + this.updateProperties.withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (isInCreateMode()) { + this.createProperties.withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } else { + this.updateProperties.withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDefaultDecision(DefaultDecisionType defaultDecision) { + if (isInCreateMode()) { + this.createProperties.withDefaultDecision(defaultDecision); + return this; + } else { + this.updateProperties.withDefaultDecision(defaultDecision); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (isInCreateMode()) { + this.createProperties.withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } else { + this.updateProperties.withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withRecommendationsEnabled(recommendationsEnabled); + return this; + } else { + this.updateProperties.withRecommendationsEnabled(recommendationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withRecommendationLookBackDuration( + Duration recommendationLookBackDuration) { + if (isInCreateMode()) { + this.createProperties.withRecommendationLookBackDuration(recommendationLookBackDuration); + return this; + } else { + this.updateProperties.withRecommendationLookBackDuration(recommendationLookBackDuration); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInstanceDurationInDays(Integer instanceDurationInDays) { + if (isInCreateMode()) { + this.createProperties.withInstanceDurationInDays(instanceDurationInDays); + return this; + } else { + this.updateProperties.withInstanceDurationInDays(instanceDurationInDays); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withType(AccessReviewRecurrencePatternType type) { + if (isInCreateMode()) { + this.createProperties.withType(type); + return this; + } else { + this.updateProperties.withType(type); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInterval(Integer interval) { + if (isInCreateMode()) { + this.createProperties.withInterval(interval); + return this; + } else { + this.updateProperties.withInterval(interval); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (isInCreateMode()) { + this.createProperties.withTypeRangeType(typeRangeType); + return this; + } else { + this.updateProperties.withTypeRangeType(typeRangeType); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withNumberOfOccurrences(Integer numberOfOccurrences) { + if (isInCreateMode()) { + this.createProperties.withNumberOfOccurrences(numberOfOccurrences); + return this; + } else { + this.updateProperties.withNumberOfOccurrences(numberOfOccurrences); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withStartDate(OffsetDateTime startDate) { + if (isInCreateMode()) { + this.createProperties.withStartDate(startDate); + return this; + } else { + this.updateProperties.withStartDate(startDate); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withEndDate(OffsetDateTime endDate) { + if (isInCreateMode()) { + this.createProperties.withEndDate(endDate); + return this; + } else { + this.updateProperties.withEndDate(endDate); + return this; + } + } + + private boolean isInCreateMode() { + return this.innerModel().id() == null; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java new file mode 100644 index 0000000000000..27d01570d58fa --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,316 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient. + */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewScheduleDefinitionsAssignedForMyApprovalsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientAccessReviewScheduleDefinitionsAssignedForMyApprovals to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewScheduleDefinitionsAssignedForMyApprovalsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @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); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, filter, 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 access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances assigned for my approval. + * + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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 + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java new file mode 100644 index 0000000000000..b19783e7d9936 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.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.authorization.generated.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.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionsAssignedForMyApprovals; + +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApprovals { + private static final ClientLogger LOGGER = + new ClientLogger(AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.class); + + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl( + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + private AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java new file mode 100644 index 0000000000000..2c1064e6c8479 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java @@ -0,0 +1,922 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.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.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewScheduleDefinitionsClient. */ +public final class AccessReviewScheduleDefinitionsClientImpl implements AccessReviewScheduleDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewScheduleDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewScheduleDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewScheduleDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewScheduleDefinitionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewScheduleDefinitions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AccessReviewScheduleDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createOrUpdateById( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewScheduleDefinitionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @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); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + filter, + 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 access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review schedule definitions. + * + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId) { + return getByIdWithResponseAsync(scheduleDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId) { + return getByIdWithResponse(scheduleDefinitionId, Context.NONE).getValue(); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> deleteByIdWithResponseAsync(String scheduleDefinitionId) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> deleteByIdWithResponseAsync(String scheduleDefinitionId, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .deleteById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdAsync(String scheduleDefinitionId) { + return deleteByIdWithResponseAsync(scheduleDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdWithResponse(String scheduleDefinitionId, Context context) { + return deleteByIdWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteById(String scheduleDefinitionId) { + deleteByIdWithResponse(scheduleDefinitionId, Context.NONE); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createOrUpdateById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .createOrUpdateById( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + properties, + accept, + context); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createOrUpdateByIdAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdWithResponseAsync(scheduleDefinitionId, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateByIdWithResponse( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context) { + return createOrUpdateByIdWithResponseAsync(scheduleDefinitionId, properties, context).block(); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner createOrUpdateById( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdWithResponse(scheduleDefinitionId, properties, Context.NONE).getValue(); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> stopWithResponseAsync(String scheduleDefinitionId) { + 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> stopWithResponseAsync(String scheduleDefinitionId, 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 (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .stop( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + scheduleDefinitionId, + apiVersion, + accept, + context); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopAsync(String scheduleDefinitionId) { + return stopWithResponseAsync(scheduleDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scheduleDefinitionId, Context context) { + return stopWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scheduleDefinitionId) { + stopWithResponse(scheduleDefinitionId, Context.NONE); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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 + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java new file mode 100644 index 0000000000000..4f5574134f8f9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitions; + +public final class AccessReviewScheduleDefinitionsImpl implements AccessReviewScheduleDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewScheduleDefinitionsImpl.class); + + private final AccessReviewScheduleDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewScheduleDefinitionsImpl( + AccessReviewScheduleDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse(String scheduleDefinitionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewScheduleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewScheduleDefinition getById(String scheduleDefinitionId) { + AccessReviewScheduleDefinitionInner inner = this.serviceClient().getById(scheduleDefinitionId); + if (inner != null) { + return new AccessReviewScheduleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteByIdWithResponse(String scheduleDefinitionId, Context context) { + return this.serviceClient().deleteByIdWithResponse(scheduleDefinitionId, context); + } + + public void deleteById(String scheduleDefinitionId) { + this.serviceClient().deleteById(scheduleDefinitionId); + } + + public Response stopWithResponse(String scheduleDefinitionId, Context context) { + return this.serviceClient().stopWithResponse(scheduleDefinitionId, context); + } + + public void stop(String scheduleDefinitionId) { + this.serviceClient().stop(scheduleDefinitionId); + } + + private AccessReviewScheduleDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public AccessReviewScheduleDefinitionImpl define(String name) { + return new AccessReviewScheduleDefinitionImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationImpl.java new file mode 100644 index 0000000000000..56eb7278638b2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationImpl.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.azure.resourcemanager.authorization.generated.models.AlertConfiguration; +import com.azure.resourcemanager.authorization.generated.models.AlertConfigurationProperties; + +public final class AlertConfigurationImpl implements AlertConfiguration { + private AlertConfigurationInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertConfigurationImpl( + AlertConfigurationInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AlertConfigurationProperties properties() { + AlertConfigurationPropertiesInner inner = this.innerModel().properties(); + if (inner != null) { + return new AlertConfigurationPropertiesImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertConfigurationInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationPropertiesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationPropertiesImpl.java new file mode 100644 index 0000000000000..9e819ca855f3d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationPropertiesImpl.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AlertConfigurationProperties; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinition; + +public final class AlertConfigurationPropertiesImpl implements AlertConfigurationProperties { + private AlertConfigurationPropertiesInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertConfigurationPropertiesImpl( + AlertConfigurationPropertiesInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String alertDefinitionId() { + return this.innerModel().alertDefinitionId(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public Boolean isEnabled() { + return this.innerModel().isEnabled(); + } + + public AlertDefinition alertDefinition() { + AlertDefinitionInner inner = this.innerModel().alertDefinition(); + if (inner != null) { + return new AlertDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertConfigurationPropertiesInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsClientImpl.java new file mode 100644 index 0000000000000..b126415e33d99 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsClientImpl.java @@ -0,0 +1,580 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.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.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.authorization.generated.fluent.AlertConfigurationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.models.AlertConfigurationListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AlertConfigurationsClient. */ +public final class AlertConfigurationsClientImpl implements AlertConfigurationsClient { + /** The proxy service used to perform REST calls. */ + private final AlertConfigurationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AlertConfigurationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AlertConfigurationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(AlertConfigurationsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAlertConfigurations to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AlertConfigurationsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations/{alertId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Patch("/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations/{alertId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> update( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AlertConfigurationInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String alertId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String alertId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context); + } + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String alertId) { + return getWithResponseAsync(scope, alertId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String alertId, Context context) { + return getWithResponseAsync(scope, alertId, context).block(); + } + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertConfigurationInner get(String scope, String alertId) { + return getWithResponse(scope, alertId, Context.NONE).getValue(); + } + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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> updateWithResponseAsync( + String scope, String alertId, AlertConfigurationInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.update(this.client.getEndpoint(), scope, alertId, apiVersion, parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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> updateWithResponseAsync( + String scope, String alertId, AlertConfigurationInner parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.update(this.client.getEndpoint(), scope, alertId, apiVersion, parameters, accept, context); + } + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 updateAsync(String scope, String alertId, AlertConfigurationInner parameters) { + return updateWithResponseAsync(scope, alertId, parameters).flatMap(ignored -> Mono.empty()); + } + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 updateWithResponse( + String scope, String alertId, AlertConfigurationInner parameters, Context context) { + return updateWithResponseAsync(scope, alertId, parameters, context).block(); + } + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 update(String scope, String alertId, AlertConfigurationInner parameters) { + updateWithResponse(scope, alertId, parameters, Context.NONE); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, 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())); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + return new PagedIterable<>(listForScopeAsync(scope)); + } + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 alert configuration list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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.listForScopeNext(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 + *

The nextLink parameter. + * @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 alert configuration list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + 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 + .listForScopeNext(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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsImpl.java new file mode 100644 index 0000000000000..0d3ffd4ed1c24 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertConfigurationsImpl.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.authorization.generated.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.authorization.generated.fluent.AlertConfigurationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.models.AlertConfiguration; +import com.azure.resourcemanager.authorization.generated.models.AlertConfigurations; + +public final class AlertConfigurationsImpl implements AlertConfigurations { + private static final ClientLogger LOGGER = new ClientLogger(AlertConfigurationsImpl.class); + + private final AlertConfigurationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AlertConfigurationsImpl( + AlertConfigurationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(String scope, String alertId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, alertId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AlertConfigurationImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AlertConfiguration get(String scope, String alertId) { + AlertConfigurationInner inner = this.serviceClient().get(scope, alertId); + if (inner != null) { + return new AlertConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response updateWithResponse( + String scope, String alertId, AlertConfigurationInner parameters, Context context) { + return this.serviceClient().updateWithResponse(scope, alertId, parameters, context); + } + + public void update(String scope, String alertId, AlertConfigurationInner parameters) { + this.serviceClient().update(scope, alertId, parameters); + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new AlertConfigurationImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, context); + return Utils.mapPage(inner, inner1 -> new AlertConfigurationImpl(inner1, this.manager())); + } + + private AlertConfigurationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionImpl.java new file mode 100644 index 0000000000000..e98add1e3afb5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionImpl.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinition; +import com.azure.resourcemanager.authorization.generated.models.SeverityLevel; + +public final class AlertDefinitionImpl implements AlertDefinition { + private AlertDefinitionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertDefinitionImpl( + AlertDefinitionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String description() { + return this.innerModel().description(); + } + + public SeverityLevel severityLevel() { + return this.innerModel().severityLevel(); + } + + public String securityImpact() { + return this.innerModel().securityImpact(); + } + + public String mitigationSteps() { + return this.innerModel().mitigationSteps(); + } + + public String howToPrevent() { + return this.innerModel().howToPrevent(); + } + + public Boolean isRemediatable() { + return this.innerModel().isRemediatable(); + } + + public Boolean isConfigurable() { + return this.innerModel().isConfigurable(); + } + + public AlertDefinitionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsClientImpl.java new file mode 100644 index 0000000000000..a2a100a7acc65 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsClientImpl.java @@ -0,0 +1,442 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AlertDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinitionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AlertDefinitionsClient. */ +public final class AlertDefinitionsClientImpl implements AlertDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final AlertDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AlertDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AlertDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(AlertDefinitionsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAlertDefinitions to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AlertDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlertDefinitions/{alertDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertDefinitionId", encoded = true) String alertDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlertDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String alertDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.get(this.client.getEndpoint(), scope, alertDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String alertDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, alertDefinitionId, apiVersion, accept, context); + } + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String alertDefinitionId) { + return getWithResponseAsync(scope, alertDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String alertDefinitionId, Context context) { + return getWithResponseAsync(scope, alertDefinitionId, context).block(); + } + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertDefinitionInner get(String scope, String alertDefinitionId) { + return getWithResponse(scope, alertDefinitionId, Context.NONE).getValue(); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, 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())); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + return new PagedIterable<>(listForScopeAsync(scope)); + } + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 alert definition list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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.listForScopeNext(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 + *

The nextLink parameter. + * @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 alert definition list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + 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 + .listForScopeNext(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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsImpl.java new file mode 100644 index 0000000000000..9237f992b53d0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertDefinitionsImpl.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AlertDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinition; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinitions; + +public final class AlertDefinitionsImpl implements AlertDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(AlertDefinitionsImpl.class); + + private final AlertDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AlertDefinitionsImpl( + AlertDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(String scope, String alertDefinitionId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, alertDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AlertDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AlertDefinition get(String scope, String alertDefinitionId) { + AlertDefinitionInner inner = this.serviceClient().get(scope, alertDefinitionId); + if (inner != null) { + return new AlertDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new AlertDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, context); + return Utils.mapPage(inner, inner1 -> new AlertDefinitionImpl(inner1, this.manager())); + } + + private AlertDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertImpl.java new file mode 100644 index 0000000000000..873a0bc0ce354 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertImpl.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import com.azure.resourcemanager.authorization.generated.models.Alert; +import com.azure.resourcemanager.authorization.generated.models.AlertConfiguration; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinition; +import com.azure.resourcemanager.authorization.generated.models.AlertIncident; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class AlertImpl implements Alert { + private AlertInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertImpl( + AlertInner innerObject, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public Boolean isActive() { + return this.innerModel().isActive(); + } + + public Integer incidentCount() { + return this.innerModel().incidentCount(); + } + + public OffsetDateTime lastModifiedDateTime() { + return this.innerModel().lastModifiedDateTime(); + } + + public OffsetDateTime lastScannedDateTime() { + return this.innerModel().lastScannedDateTime(); + } + + public AlertDefinition alertDefinition() { + AlertDefinitionInner inner = this.innerModel().alertDefinition(); + if (inner != null) { + return new AlertDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public List alertIncidents() { + List inner = this.innerModel().alertIncidents(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new AlertIncidentImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public AlertConfiguration alertConfiguration() { + AlertConfigurationInner inner = this.innerModel().alertConfiguration(); + if (inner != null) { + return new AlertConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentImpl.java new file mode 100644 index 0000000000000..b843f0f368084 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentImpl.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.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.azure.resourcemanager.authorization.generated.models.AlertIncident; +import com.azure.resourcemanager.authorization.generated.models.AlertIncidentProperties; + +public final class AlertIncidentImpl implements AlertIncident { + private AlertIncidentInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertIncidentImpl( + AlertIncidentInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AlertIncidentProperties properties() { + return this.innerModel().properties(); + } + + public AlertIncidentInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsClientImpl.java new file mode 100644 index 0000000000000..69471db08dffd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsClientImpl.java @@ -0,0 +1,613 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.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.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.authorization.generated.fluent.AlertIncidentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.azure.resourcemanager.authorization.generated.models.AlertIncidentListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AlertIncidentsClient. */ +public final class AlertIncidentsClientImpl implements AlertIncidentsClient { + /** The proxy service used to perform REST calls. */ + private final AlertIncidentsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AlertIncidentsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AlertIncidentsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(AlertIncidentsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAlertIncidents to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AlertIncidentsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents/{alertIncidentId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @PathParam(value = "alertIncidentId", encoded = true) String alertIncidentId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents/{alertIncidentId}/remediate") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> remediate( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @PathParam(value = "alertIncidentId", encoded = true) String alertIncidentId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String alertId, String alertIncidentId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (alertIncidentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertIncidentId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), scope, alertId, alertIncidentId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String alertId, String alertIncidentId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (alertIncidentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertIncidentId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, alertId, alertIncidentId, apiVersion, accept, context); + } + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String alertId, String alertIncidentId) { + return getWithResponseAsync(scope, alertId, alertIncidentId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String alertId, String alertIncidentId, Context context) { + return getWithResponseAsync(scope, alertId, alertIncidentId, context).block(); + } + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertIncidentInner get(String scope, String alertId, String alertIncidentId) { + return getWithResponse(scope, alertId, alertIncidentId, Context.NONE).getValue(); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, String alertId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, alertId, apiVersion, 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())); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String alertId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String alertId) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, alertId), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String alertId, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, alertId, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, String alertId) { + return new PagedIterable<>(listForScopeAsync(scope, alertId)); + } + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, String alertId, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, alertId, context)); + } + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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> remediateWithResponseAsync(String scope, String alertId, String alertIncidentId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (alertIncidentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertIncidentId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .remediate( + this.client.getEndpoint(), scope, alertId, alertIncidentId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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> remediateWithResponseAsync( + String scope, String alertId, String alertIncidentId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (alertIncidentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter alertIncidentId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .remediate(this.client.getEndpoint(), scope, alertId, alertIncidentId, apiVersion, accept, context); + } + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediateAsync(String scope, String alertId, String alertIncidentId) { + return remediateWithResponseAsync(scope, alertId, alertIncidentId).flatMap(ignored -> Mono.empty()); + } + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediateWithResponse(String scope, String alertId, String alertIncidentId, Context context) { + return remediateWithResponseAsync(scope, alertId, alertIncidentId, context).block(); + } + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediate(String scope, String alertId, String alertIncidentId) { + remediateWithResponse(scope, alertId, alertIncidentId, Context.NONE); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 alert incident list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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.listForScopeNext(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 + *

The nextLink parameter. + * @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 alert incident list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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 + .listForScopeNext(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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsImpl.java new file mode 100644 index 0000000000000..c063f10030706 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertIncidentsImpl.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AlertIncidentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.azure.resourcemanager.authorization.generated.models.AlertIncident; +import com.azure.resourcemanager.authorization.generated.models.AlertIncidents; + +public final class AlertIncidentsImpl implements AlertIncidents { + private static final ClientLogger LOGGER = new ClientLogger(AlertIncidentsImpl.class); + + private final AlertIncidentsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AlertIncidentsImpl( + AlertIncidentsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse( + String scope, String alertId, String alertIncidentId, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, alertId, alertIncidentId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AlertIncidentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AlertIncident get(String scope, String alertId, String alertIncidentId) { + AlertIncidentInner inner = this.serviceClient().get(scope, alertId, alertIncidentId); + if (inner != null) { + return new AlertIncidentImpl(inner, this.manager()); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope, String alertId) { + PagedIterable inner = this.serviceClient().listForScope(scope, alertId); + return Utils.mapPage(inner, inner1 -> new AlertIncidentImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String alertId, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, alertId, context); + return Utils.mapPage(inner, inner1 -> new AlertIncidentImpl(inner1, this.manager())); + } + + public Response remediateWithResponse(String scope, String alertId, String alertIncidentId, Context context) { + return this.serviceClient().remediateWithResponse(scope, alertId, alertIncidentId, context); + } + + public void remediate(String scope, String alertId, String alertIncidentId) { + this.serviceClient().remediate(scope, alertId, alertIncidentId); + } + + private AlertIncidentsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationResultImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationResultImpl.java new file mode 100644 index 0000000000000..68d34bec7c0e9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationResultImpl.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.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import com.azure.resourcemanager.authorization.generated.models.AlertOperationResult; +import java.time.OffsetDateTime; + +public final class AlertOperationResultImpl implements AlertOperationResult { + private AlertOperationResultInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertOperationResultImpl( + AlertOperationResultInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String status() { + return this.innerModel().status(); + } + + public String statusDetail() { + return this.innerModel().statusDetail(); + } + + public OffsetDateTime createdDateTime() { + return this.innerModel().createdDateTime(); + } + + public OffsetDateTime lastActionDateTime() { + return this.innerModel().lastActionDateTime(); + } + + public String resourceLocation() { + return this.innerModel().resourceLocation(); + } + + public AlertOperationResultInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsClientImpl.java new file mode 100644 index 0000000000000..7479ea70e4d7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsClientImpl.java @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.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.authorization.generated.fluent.AlertOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AlertOperationsClient. */ +public final class AlertOperationsClientImpl implements AlertOperationsClient { + /** The proxy service used to perform REST calls. */ + private final AlertOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AlertOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AlertOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(AlertOperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAlertOperations to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AlertOperationsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlertOperations/{operationId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "operationId", encoded = true) String operationId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert 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 specified alert operation along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String operationId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (operationId == null) { + return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.get(this.client.getEndpoint(), scope, operationId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @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 specified alert operation along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String operationId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (operationId == null) { + return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, operationId, apiVersion, accept, context); + } + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert 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 specified alert operation on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String operationId) { + return getWithResponseAsync(scope, operationId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @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 specified alert operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String operationId, Context context) { + return getWithResponseAsync(scope, operationId, context).block(); + } + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert 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 specified alert operation. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertOperationResultInner get(String scope, String operationId) { + return getWithResponse(scope, operationId, Context.NONE).getValue(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsImpl.java new file mode 100644 index 0000000000000..e6ff01c0ab128 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertOperationsImpl.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AlertOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import com.azure.resourcemanager.authorization.generated.models.AlertOperationResult; +import com.azure.resourcemanager.authorization.generated.models.AlertOperations; + +public final class AlertOperationsImpl implements AlertOperations { + private static final ClientLogger LOGGER = new ClientLogger(AlertOperationsImpl.class); + + private final AlertOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AlertOperationsImpl( + AlertOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(String scope, String operationId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, operationId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AlertOperationResultImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AlertOperationResult get(String scope, String operationId) { + AlertOperationResultInner inner = this.serviceClient().get(scope, operationId); + if (inner != null) { + return new AlertOperationResultImpl(inner, this.manager()); + } else { + return null; + } + } + + private AlertOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertPropertiesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertPropertiesImpl.java new file mode 100644 index 0000000000000..e84f7817cfe59 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertPropertiesImpl.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertPropertiesInner; +import com.azure.resourcemanager.authorization.generated.models.AlertConfiguration; +import com.azure.resourcemanager.authorization.generated.models.AlertDefinition; +import com.azure.resourcemanager.authorization.generated.models.AlertIncident; +import com.azure.resourcemanager.authorization.generated.models.AlertProperties; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class AlertPropertiesImpl implements AlertProperties { + private AlertPropertiesInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AlertPropertiesImpl( + AlertPropertiesInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String scope() { + return this.innerModel().scope(); + } + + public Boolean isActive() { + return this.innerModel().isActive(); + } + + public Integer incidentCount() { + return this.innerModel().incidentCount(); + } + + public OffsetDateTime lastModifiedDateTime() { + return this.innerModel().lastModifiedDateTime(); + } + + public OffsetDateTime lastScannedDateTime() { + return this.innerModel().lastScannedDateTime(); + } + + public AlertDefinition alertDefinition() { + AlertDefinitionInner inner = this.innerModel().alertDefinition(); + if (inner != null) { + return new AlertDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public List alertIncidents() { + List inner = this.innerModel().alertIncidents(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new AlertIncidentImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public AlertConfiguration alertConfiguration() { + AlertConfigurationInner inner = this.innerModel().alertConfiguration(); + if (inner != null) { + return new AlertConfigurationImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertPropertiesInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsClientImpl.java new file mode 100644 index 0000000000000..c88d4102ca281 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsClientImpl.java @@ -0,0 +1,999 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.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.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.management.polling.PollResult; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.SyncPoller; +import com.azure.resourcemanager.authorization.generated.fluent.AlertsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import com.azure.resourcemanager.authorization.generated.models.AlertListResult; +import java.nio.ByteBuffer; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AlertsClient. */ +public final class AlertsClientImpl implements AlertsClient { + /** The proxy service used to perform REST calls. */ + private final AlertsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AlertsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AlertsClientImpl(AuthorizationManagementClientImpl client) { + this.service = RestProxy.create(AlertsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAlerts to be used by the proxy service + * to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface AlertsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Patch("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> update( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AlertInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/refresh") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono>> refresh( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "alertId", encoded = true) String alertId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post("/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/refresh") + @ExpectedResponses({202}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono>> refreshAll( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String alertId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String alertId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context); + } + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String alertId) { + return getWithResponseAsync(scope, alertId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String alertId, Context context) { + return getWithResponseAsync(scope, alertId, context).block(); + } + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertInner get(String scope, String alertId) { + return getWithResponse(scope, alertId, Context.NONE).getValue(); + } + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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> updateWithResponseAsync(String scope, String alertId, AlertInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.update(this.client.getEndpoint(), scope, alertId, apiVersion, parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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> updateWithResponseAsync( + String scope, String alertId, AlertInner parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.update(this.client.getEndpoint(), scope, alertId, apiVersion, parameters, accept, context); + } + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 updateAsync(String scope, String alertId, AlertInner parameters) { + return updateWithResponseAsync(scope, alertId, parameters).flatMap(ignored -> Mono.empty()); + } + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 updateWithResponse(String scope, String alertId, AlertInner parameters, Context context) { + return updateWithResponseAsync(scope, alertId, parameters, context).block(); + } + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 update(String scope, String alertId, AlertInner parameters) { + updateWithResponse(scope, alertId, parameters, Context.NONE); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, 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())); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + return new PagedIterable<>(listForScopeAsync(scope)); + } + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, context)); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono>> refreshWithResponseAsync(String scope, String alertId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.refresh(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono>> refreshWithResponseAsync(String scope, String alertId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (alertId == null) { + return Mono.error(new IllegalArgumentException("Parameter alertId is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.refresh(this.client.getEndpoint(), scope, alertId, apiVersion, accept, context); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 PollerFlux} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + private PollerFlux, AlertOperationResultInner> beginRefreshAsync( + String scope, String alertId) { + Mono>> mono = refreshWithResponseAsync(scope, alertId); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + AlertOperationResultInner.class, + AlertOperationResultInner.class, + this.client.getContext()); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 PollerFlux} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + private PollerFlux, AlertOperationResultInner> beginRefreshAsync( + String scope, String alertId, Context context) { + context = this.client.mergeContext(context); + Mono>> mono = refreshWithResponseAsync(scope, alertId, context); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + AlertOperationResultInner.class, + AlertOperationResultInner.class, + context); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller, AlertOperationResultInner> beginRefresh( + String scope, String alertId) { + return this.beginRefreshAsync(scope, alertId).getSyncPoller(); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller, AlertOperationResultInner> beginRefresh( + String scope, String alertId, Context context) { + return this.beginRefreshAsync(scope, alertId, context).getSyncPoller(); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono refreshAsync(String scope, String alertId) { + return beginRefreshAsync(scope, alertId).last().flatMap(this.client::getLroFinalResultOrError); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono refreshAsync(String scope, String alertId, Context context) { + return beginRefreshAsync(scope, alertId, context).last().flatMap(this.client::getLroFinalResultOrError); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertOperationResultInner refresh(String scope, String alertId) { + return refreshAsync(scope, alertId).block(); + } + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertOperationResultInner refresh(String scope, String alertId, Context context) { + return refreshAsync(scope, alertId, context).block(); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono>> refreshAllWithResponseAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.refreshAll(this.client.getEndpoint(), scope, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono>> refreshAllWithResponseAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2022-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.refreshAll(this.client.getEndpoint(), scope, apiVersion, accept, context); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 PollerFlux} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + private PollerFlux, AlertOperationResultInner> beginRefreshAllAsync( + String scope) { + Mono>> mono = refreshAllWithResponseAsync(scope); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + AlertOperationResultInner.class, + AlertOperationResultInner.class, + this.client.getContext()); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 PollerFlux} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + private PollerFlux, AlertOperationResultInner> beginRefreshAllAsync( + String scope, Context context) { + context = this.client.mergeContext(context); + Mono>> mono = refreshAllWithResponseAsync(scope, context); + return this + .client + .getLroResult( + mono, + this.client.getHttpPipeline(), + AlertOperationResultInner.class, + AlertOperationResultInner.class, + context); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller, AlertOperationResultInner> beginRefreshAll(String scope) { + return this.beginRefreshAllAsync(scope).getSyncPoller(); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 SyncPoller} for polling of alert operation result. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller, AlertOperationResultInner> beginRefreshAll( + String scope, Context context) { + return this.beginRefreshAllAsync(scope, context).getSyncPoller(); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono refreshAllAsync(String scope) { + return beginRefreshAllAsync(scope).last().flatMap(this.client::getLroFinalResultOrError); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono refreshAllAsync(String scope, Context context) { + return beginRefreshAllAsync(scope, context).last().flatMap(this.client::getLroFinalResultOrError); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertOperationResultInner refreshAll(String scope) { + return refreshAllAsync(scope).block(); + } + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AlertOperationResultInner refreshAll(String scope, Context context) { + return refreshAllAsync(scope, context).block(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 alert list operation result along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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.listForScopeNext(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 + *

The nextLink parameter. + * @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 alert list operation result along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(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 + .listForScopeNext(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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsImpl.java new file mode 100644 index 0000000000000..49281d759c951 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AlertsImpl.java @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.AlertsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import com.azure.resourcemanager.authorization.generated.models.Alert; +import com.azure.resourcemanager.authorization.generated.models.AlertOperationResult; +import com.azure.resourcemanager.authorization.generated.models.Alerts; + +public final class AlertsImpl implements Alerts { + private static final ClientLogger LOGGER = new ClientLogger(AlertsImpl.class); + + private final AlertsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AlertsImpl( + AlertsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(String scope, String alertId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, alertId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AlertImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public Alert get(String scope, String alertId) { + AlertInner inner = this.serviceClient().get(scope, alertId); + if (inner != null) { + return new AlertImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response updateWithResponse(String scope, String alertId, AlertInner parameters, Context context) { + return this.serviceClient().updateWithResponse(scope, alertId, parameters, context); + } + + public void update(String scope, String alertId, AlertInner parameters) { + this.serviceClient().update(scope, alertId, parameters); + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new AlertImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, context); + return Utils.mapPage(inner, inner1 -> new AlertImpl(inner1, this.manager())); + } + + public AlertOperationResult refresh(String scope, String alertId) { + AlertOperationResultInner inner = this.serviceClient().refresh(scope, alertId); + if (inner != null) { + return new AlertOperationResultImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertOperationResult refresh(String scope, String alertId, Context context) { + AlertOperationResultInner inner = this.serviceClient().refresh(scope, alertId, context); + if (inner != null) { + return new AlertOperationResultImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertOperationResult refreshAll(String scope) { + AlertOperationResultInner inner = this.serviceClient().refreshAll(scope); + if (inner != null) { + return new AlertOperationResultImpl(inner, this.manager()); + } else { + return null; + } + } + + public AlertOperationResult refreshAll(String scope, Context context) { + AlertOperationResultInner inner = this.serviceClient().refreshAll(scope, context); + if (inner != null) { + return new AlertOperationResultImpl(inner, this.manager()); + } else { + return null; + } + } + + private AlertsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java new file mode 100644 index 0000000000000..c6ca7e0927815 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 AuthorizationManagementClientImpl type. */ +@ServiceClientBuilder(serviceClients = {AuthorizationManagementClientImpl.class}) +public final class AuthorizationManagementClientBuilder { + /* + * The ID of the target subscription. + */ + private String subscriptionId; + + /** + * Sets The ID of the target subscription. + * + * @param subscriptionId the subscriptionId value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /* + * server parameter + */ + private String endpoint; + + /** + * Sets server parameter. + * + * @param endpoint the endpoint value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder 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 AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder 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 AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder 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 AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder 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 AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { + this.serializerAdapter = serializerAdapter; + return this; + } + + /** + * Builds an instance of AuthorizationManagementClientImpl with the provided parameters. + * + * @return an instance of AuthorizationManagementClientImpl. + */ + public AuthorizationManagementClientImpl 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(); + AuthorizationManagementClientImpl client = + new AuthorizationManagementClientImpl( + localPipeline, + localSerializerAdapter, + localDefaultPollInterval, + localEnvironment, + subscriptionId, + localEndpoint); + return client; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java new file mode 100644 index 0000000000000..a90c8470efa33 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java @@ -0,0 +1,699 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ServiceClient; +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.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AlertConfigurationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AlertDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AlertIncidentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AlertOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AlertsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AuthorizationManagementClient; +import com.azure.resourcemanager.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewDefaultSettingsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.TenantLevelAccessReviewInstanceContactedReviewersClient; +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 AuthorizationManagementClientImpl type. */ +@ServiceClient(builder = AuthorizationManagementClientBuilder.class) +public final class AuthorizationManagementClientImpl implements AuthorizationManagementClient { + /** 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; + } + + /** 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 AccessReviewHistoryDefinitionsClient object to access its operations. */ + private final AccessReviewHistoryDefinitionsClient accessReviewHistoryDefinitions; + + /** + * Gets the AccessReviewHistoryDefinitionsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionsClient object. + */ + public AccessReviewHistoryDefinitionsClient getAccessReviewHistoryDefinitions() { + return this.accessReviewHistoryDefinitions; + } + + /** The AccessReviewHistoryDefinitionOperationsClient object to access its operations. */ + private final AccessReviewHistoryDefinitionOperationsClient accessReviewHistoryDefinitionOperations; + + /** + * Gets the AccessReviewHistoryDefinitionOperationsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionOperationsClient object. + */ + public AccessReviewHistoryDefinitionOperationsClient getAccessReviewHistoryDefinitionOperations() { + return this.accessReviewHistoryDefinitionOperations; + } + + /** The AccessReviewHistoryDefinitionInstancesClient object to access its operations. */ + private final AccessReviewHistoryDefinitionInstancesClient accessReviewHistoryDefinitionInstances; + + /** + * Gets the AccessReviewHistoryDefinitionInstancesClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionInstancesClient object. + */ + public AccessReviewHistoryDefinitionInstancesClient getAccessReviewHistoryDefinitionInstances() { + return this.accessReviewHistoryDefinitionInstances; + } + + /** The AccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. */ + private final AccessReviewHistoryDefinitionInstancesOperationsClient + accessReviewHistoryDefinitionInstancesOperations; + + /** + * Gets the AccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. + * + * @return the AccessReviewHistoryDefinitionInstancesOperationsClient object. + */ + public AccessReviewHistoryDefinitionInstancesOperationsClient + getAccessReviewHistoryDefinitionInstancesOperations() { + return this.accessReviewHistoryDefinitionInstancesOperations; + } + + /** The AccessReviewScheduleDefinitionsClient object to access its operations. */ + private final AccessReviewScheduleDefinitionsClient accessReviewScheduleDefinitions; + + /** + * Gets the AccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsClient object. + */ + public AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions() { + return this.accessReviewScheduleDefinitions; + } + + /** The AccessReviewInstancesClient object to access its operations. */ + private final AccessReviewInstancesClient accessReviewInstances; + + /** + * Gets the AccessReviewInstancesClient object to access its operations. + * + * @return the AccessReviewInstancesClient object. + */ + public AccessReviewInstancesClient getAccessReviewInstances() { + return this.accessReviewInstances; + } + + /** The AccessReviewInstanceOperationsClient object to access its operations. */ + private final AccessReviewInstanceOperationsClient accessReviewInstanceOperations; + + /** + * Gets the AccessReviewInstanceOperationsClient object to access its operations. + * + * @return the AccessReviewInstanceOperationsClient object. + */ + public AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations() { + return this.accessReviewInstanceOperations; + } + + /** The AccessReviewInstanceDecisionsClient object to access its operations. */ + private final AccessReviewInstanceDecisionsClient accessReviewInstanceDecisions; + + /** + * Gets the AccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceDecisionsClient object. + */ + public AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions() { + return this.accessReviewInstanceDecisions; + } + + /** The AccessReviewInstanceContactedReviewersClient object to access its operations. */ + private final AccessReviewInstanceContactedReviewersClient accessReviewInstanceContactedReviewers; + + /** + * Gets the AccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the AccessReviewInstanceContactedReviewersClient object. + */ + public AccessReviewInstanceContactedReviewersClient getAccessReviewInstanceContactedReviewers() { + return this.accessReviewInstanceContactedReviewers; + } + + /** The AccessReviewDefaultSettingsOperationsClient object to access its operations. */ + private final AccessReviewDefaultSettingsOperationsClient accessReviewDefaultSettingsOperations; + + /** + * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations. + * + * @return the AccessReviewDefaultSettingsOperationsClient object. + */ + public AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations() { + return this.accessReviewDefaultSettingsOperations; + } + + /** The ScopeAccessReviewHistoryDefinitionsClient object to access its operations. */ + private final ScopeAccessReviewHistoryDefinitionsClient scopeAccessReviewHistoryDefinitions; + + /** + * Gets the ScopeAccessReviewHistoryDefinitionsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionsClient object. + */ + public ScopeAccessReviewHistoryDefinitionsClient getScopeAccessReviewHistoryDefinitions() { + return this.scopeAccessReviewHistoryDefinitions; + } + + /** The ScopeAccessReviewHistoryDefinitionOperationsClient object to access its operations. */ + private final ScopeAccessReviewHistoryDefinitionOperationsClient scopeAccessReviewHistoryDefinitionOperations; + + /** + * Gets the ScopeAccessReviewHistoryDefinitionOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionOperationsClient object. + */ + public ScopeAccessReviewHistoryDefinitionOperationsClient getScopeAccessReviewHistoryDefinitionOperations() { + return this.scopeAccessReviewHistoryDefinitionOperations; + } + + /** The ScopeAccessReviewHistoryDefinitionInstancesClient object to access its operations. */ + private final ScopeAccessReviewHistoryDefinitionInstancesClient scopeAccessReviewHistoryDefinitionInstances; + + /** + * Gets the ScopeAccessReviewHistoryDefinitionInstancesClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionInstancesClient object. + */ + public ScopeAccessReviewHistoryDefinitionInstancesClient getScopeAccessReviewHistoryDefinitionInstances() { + return this.scopeAccessReviewHistoryDefinitionInstances; + } + + /** The ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. */ + private final ScopeAccessReviewHistoryDefinitionInstancesOperationsClient + scopeAccessReviewHistoryDefinitionInstancesOperations; + + /** + * Gets the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object. + */ + public ScopeAccessReviewHistoryDefinitionInstancesOperationsClient + getScopeAccessReviewHistoryDefinitionInstancesOperations() { + return this.scopeAccessReviewHistoryDefinitionInstancesOperations; + } + + /** The ScopeAccessReviewScheduleDefinitionsClient object to access its operations. */ + private final ScopeAccessReviewScheduleDefinitionsClient scopeAccessReviewScheduleDefinitions; + + /** + * Gets the ScopeAccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the ScopeAccessReviewScheduleDefinitionsClient object. + */ + public ScopeAccessReviewScheduleDefinitionsClient getScopeAccessReviewScheduleDefinitions() { + return this.scopeAccessReviewScheduleDefinitions; + } + + /** The ScopeAccessReviewInstancesClient object to access its operations. */ + private final ScopeAccessReviewInstancesClient scopeAccessReviewInstances; + + /** + * Gets the ScopeAccessReviewInstancesClient object to access its operations. + * + * @return the ScopeAccessReviewInstancesClient object. + */ + public ScopeAccessReviewInstancesClient getScopeAccessReviewInstances() { + return this.scopeAccessReviewInstances; + } + + /** The ScopeAccessReviewInstanceOperationsClient object to access its operations. */ + private final ScopeAccessReviewInstanceOperationsClient scopeAccessReviewInstanceOperations; + + /** + * Gets the ScopeAccessReviewInstanceOperationsClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceOperationsClient object. + */ + public ScopeAccessReviewInstanceOperationsClient getScopeAccessReviewInstanceOperations() { + return this.scopeAccessReviewInstanceOperations; + } + + /** The ScopeAccessReviewInstanceDecisionsClient object to access its operations. */ + private final ScopeAccessReviewInstanceDecisionsClient scopeAccessReviewInstanceDecisions; + + /** + * Gets the ScopeAccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceDecisionsClient object. + */ + public ScopeAccessReviewInstanceDecisionsClient getScopeAccessReviewInstanceDecisions() { + return this.scopeAccessReviewInstanceDecisions; + } + + /** The ScopeAccessReviewInstanceContactedReviewersClient object to access its operations. */ + private final ScopeAccessReviewInstanceContactedReviewersClient scopeAccessReviewInstanceContactedReviewers; + + /** + * Gets the ScopeAccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the ScopeAccessReviewInstanceContactedReviewersClient object. + */ + public ScopeAccessReviewInstanceContactedReviewersClient getScopeAccessReviewInstanceContactedReviewers() { + return this.scopeAccessReviewInstanceContactedReviewers; + } + + /** The ScopeAccessReviewDefaultSettingsClient object to access its operations. */ + private final ScopeAccessReviewDefaultSettingsClient scopeAccessReviewDefaultSettings; + + /** + * Gets the ScopeAccessReviewDefaultSettingsClient object to access its operations. + * + * @return the ScopeAccessReviewDefaultSettingsClient object. + */ + public ScopeAccessReviewDefaultSettingsClient getScopeAccessReviewDefaultSettings() { + return this.scopeAccessReviewDefaultSettings; + } + + /** The AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. */ + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + accessReviewScheduleDefinitionsAssignedForMyApprovals; + + /** + * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object. + */ + public AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + getAccessReviewScheduleDefinitionsAssignedForMyApprovals() { + return this.accessReviewScheduleDefinitionsAssignedForMyApprovals; + } + + /** The AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. */ + private final AccessReviewInstancesAssignedForMyApprovalsClient accessReviewInstancesAssignedForMyApprovals; + + /** + * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewInstancesAssignedForMyApprovalsClient object. + */ + public AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals() { + return this.accessReviewInstancesAssignedForMyApprovals; + } + + /** The AccessReviewInstanceMyDecisionsClient object to access its operations. */ + private final AccessReviewInstanceMyDecisionsClient accessReviewInstanceMyDecisions; + + /** + * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceMyDecisionsClient object. + */ + public AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions() { + return this.accessReviewInstanceMyDecisions; + } + + /** The TenantLevelAccessReviewInstanceContactedReviewersClient object to access its operations. */ + private final TenantLevelAccessReviewInstanceContactedReviewersClient + tenantLevelAccessReviewInstanceContactedReviewers; + + /** + * Gets the TenantLevelAccessReviewInstanceContactedReviewersClient object to access its operations. + * + * @return the TenantLevelAccessReviewInstanceContactedReviewersClient object. + */ + public TenantLevelAccessReviewInstanceContactedReviewersClient + getTenantLevelAccessReviewInstanceContactedReviewers() { + return this.tenantLevelAccessReviewInstanceContactedReviewers; + } + + /** The AlertsClient object to access its operations. */ + private final AlertsClient alerts; + + /** + * Gets the AlertsClient object to access its operations. + * + * @return the AlertsClient object. + */ + public AlertsClient getAlerts() { + return this.alerts; + } + + /** The AlertConfigurationsClient object to access its operations. */ + private final AlertConfigurationsClient alertConfigurations; + + /** + * Gets the AlertConfigurationsClient object to access its operations. + * + * @return the AlertConfigurationsClient object. + */ + public AlertConfigurationsClient getAlertConfigurations() { + return this.alertConfigurations; + } + + /** The AlertDefinitionsClient object to access its operations. */ + private final AlertDefinitionsClient alertDefinitions; + + /** + * Gets the AlertDefinitionsClient object to access its operations. + * + * @return the AlertDefinitionsClient object. + */ + public AlertDefinitionsClient getAlertDefinitions() { + return this.alertDefinitions; + } + + /** The AlertIncidentsClient object to access its operations. */ + private final AlertIncidentsClient alertIncidents; + + /** + * Gets the AlertIncidentsClient object to access its operations. + * + * @return the AlertIncidentsClient object. + */ + public AlertIncidentsClient getAlertIncidents() { + return this.alertIncidents; + } + + /** The AlertOperationsClient object to access its operations. */ + private final AlertOperationsClient alertOperations; + + /** + * Gets the AlertOperationsClient object to access its operations. + * + * @return the AlertOperationsClient object. + */ + public AlertOperationsClient getAlertOperations() { + return this.alertOperations; + } + + /** + * Initializes an instance of AuthorizationManagementClient 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. + */ + AuthorizationManagementClientImpl( + 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.operations = new OperationsClientImpl(this); + this.accessReviewHistoryDefinitions = new AccessReviewHistoryDefinitionsClientImpl(this); + this.accessReviewHistoryDefinitionOperations = new AccessReviewHistoryDefinitionOperationsClientImpl(this); + this.accessReviewHistoryDefinitionInstances = new AccessReviewHistoryDefinitionInstancesClientImpl(this); + this.accessReviewHistoryDefinitionInstancesOperations = + new AccessReviewHistoryDefinitionInstancesOperationsClientImpl(this); + this.accessReviewScheduleDefinitions = new AccessReviewScheduleDefinitionsClientImpl(this); + this.accessReviewInstances = new AccessReviewInstancesClientImpl(this); + this.accessReviewInstanceOperations = new AccessReviewInstanceOperationsClientImpl(this); + this.accessReviewInstanceDecisions = new AccessReviewInstanceDecisionsClientImpl(this); + this.accessReviewInstanceContactedReviewers = new AccessReviewInstanceContactedReviewersClientImpl(this); + this.accessReviewDefaultSettingsOperations = new AccessReviewDefaultSettingsOperationsClientImpl(this); + this.scopeAccessReviewHistoryDefinitions = new ScopeAccessReviewHistoryDefinitionsClientImpl(this); + this.scopeAccessReviewHistoryDefinitionOperations = + new ScopeAccessReviewHistoryDefinitionOperationsClientImpl(this); + this.scopeAccessReviewHistoryDefinitionInstances = + new ScopeAccessReviewHistoryDefinitionInstancesClientImpl(this); + this.scopeAccessReviewHistoryDefinitionInstancesOperations = + new ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl(this); + this.scopeAccessReviewScheduleDefinitions = new ScopeAccessReviewScheduleDefinitionsClientImpl(this); + this.scopeAccessReviewInstances = new ScopeAccessReviewInstancesClientImpl(this); + this.scopeAccessReviewInstanceOperations = new ScopeAccessReviewInstanceOperationsClientImpl(this); + this.scopeAccessReviewInstanceDecisions = new ScopeAccessReviewInstanceDecisionsClientImpl(this); + this.scopeAccessReviewInstanceContactedReviewers = + new ScopeAccessReviewInstanceContactedReviewersClientImpl(this); + this.scopeAccessReviewDefaultSettings = new ScopeAccessReviewDefaultSettingsClientImpl(this); + this.accessReviewScheduleDefinitionsAssignedForMyApprovals = + new AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl(this); + this.accessReviewInstancesAssignedForMyApprovals = + new AccessReviewInstancesAssignedForMyApprovalsClientImpl(this); + this.accessReviewInstanceMyDecisions = new AccessReviewInstanceMyDecisionsClientImpl(this); + this.tenantLevelAccessReviewInstanceContactedReviewers = + new TenantLevelAccessReviewInstanceContactedReviewersClientImpl(this); + this.alerts = new AlertsClientImpl(this); + this.alertConfigurations = new AlertConfigurationsClientImpl(this); + this.alertDefinitions = new AlertDefinitionsClientImpl(this); + this.alertIncidents = new AlertIncidentsClientImpl(this); + this.alertOperations = new AlertOperationsClientImpl(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(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(AuthorizationManagementClientImpl.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.java new file mode 100644 index 0000000000000..105fd71fa5533 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.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.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.models.Operation; +import com.azure.resourcemanager.authorization.generated.models.OperationDisplay; + +public final class OperationImpl implements Operation { + private OperationInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + OperationImpl( + OperationInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String name() { + return this.innerModel().name(); + } + + public Boolean isDataAction() { + return this.innerModel().isDataAction(); + } + + public OperationDisplay display() { + return this.innerModel().display(); + } + + public String origin() { + return this.innerModel().origin(); + } + + public OperationInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java new file mode 100644 index 0000000000000..71bf1a05cd03c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java @@ -0,0 +1,277 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.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 AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of OperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + OperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientOperations to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface OperationsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/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 the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, 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 the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations 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 apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations 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 the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations 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 + *

The nextLink parameter. + * @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 result of a request to list Microsoft.Authorization operations 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 + *

The nextLink parameter. + * @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 result of a request to list Microsoft.Authorization operations 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java new file mode 100644 index 0000000000000..bf4e61234fed2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.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.authorization.generated.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.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.models.Operation; +import com.azure.resourcemanager.authorization.generated.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.authorization.generated.AuthorizationManager serviceManager; + + public OperationsImpl( + OperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + public PagedIterable list(Context context) { + PagedIterable inner = this.serviceClient().list(context); + return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + private OperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsClientImpl.java new file mode 100644 index 0000000000000..7e2b7844ceba0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsClientImpl.java @@ -0,0 +1,303 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +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.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.authorization.generated.fluent.ScopeAccessReviewDefaultSettingsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewDefaultSettingsClient. + */ +public final class ScopeAccessReviewDefaultSettingsClientImpl implements ScopeAccessReviewDefaultSettingsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewDefaultSettingsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewDefaultSettingsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewDefaultSettingsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewDefaultSettingsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewDefaultSettings to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewDefaultSettingsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> put( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewScheduleSettings properties, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), scope, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, apiVersion, accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope) { + return getWithResponseAsync(scope).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, Context context) { + return getWithResponseAsync(scope, context).block(); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner get(String scope) { + return getWithResponse(scope, Context.NONE).getValue(); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> putWithResponseAsync( + String scope, AccessReviewScheduleSettings properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.put(this.client.getEndpoint(), scope, apiVersion, properties, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> putWithResponseAsync( + String scope, AccessReviewScheduleSettings properties, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.put(this.client.getEndpoint(), scope, apiVersion, properties, accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono putAsync(String scope, AccessReviewScheduleSettings properties) { + return putWithResponseAsync(scope, properties).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response putWithResponse( + String scope, AccessReviewScheduleSettings properties, Context context) { + return putWithResponseAsync(scope, properties, context).block(); + } + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner put(String scope, AccessReviewScheduleSettings properties) { + return putWithResponse(scope, properties, Context.NONE).getValue(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsImpl.java new file mode 100644 index 0000000000000..f9159b8e13c46 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewDefaultSettingsImpl.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewDefaultSettingsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewDefaultSettings; + +public final class ScopeAccessReviewDefaultSettingsImpl implements ScopeAccessReviewDefaultSettings { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewDefaultSettingsImpl.class); + + private final ScopeAccessReviewDefaultSettingsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewDefaultSettingsImpl( + ScopeAccessReviewDefaultSettingsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response getWithResponse(String scope, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDefaultSettings get(String scope) { + AccessReviewDefaultSettingsInner inner = this.serviceClient().get(scope); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response putWithResponse( + String scope, AccessReviewScheduleSettings properties, Context context) { + Response inner = + this.serviceClient().putWithResponse(scope, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDefaultSettings put(String scope, AccessReviewScheduleSettings properties) { + AccessReviewDefaultSettingsInner inner = this.serviceClient().put(scope, properties); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + private ScopeAccessReviewDefaultSettingsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesClientImpl.java new file mode 100644 index 0000000000000..a28193f729acf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesClientImpl.java @@ -0,0 +1,223 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionInstancesClient. + */ +public final class ScopeAccessReviewHistoryDefinitionInstancesClientImpl + implements ScopeAccessReviewHistoryDefinitionInstancesClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewHistoryDefinitionInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewHistoryDefinitionInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewHistoryDefinitionInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewHistoryDefinitionInstancesService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientScopeAccessReviewHistoryDefinitionInstances to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewHistoryDefinitionInstancesService { + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances/{instanceId}/generateDownloadUri") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> generateDownloadUri( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("historyDefinitionId") String historyDefinitionId, + @PathParam("instanceId") String instanceId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> generateDownloadUriWithResponseAsync( + String scope, String historyDefinitionId, String instanceId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (instanceId == null) { + return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .generateDownloadUri( + this.client.getEndpoint(), + scope, + historyDefinitionId, + instanceId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> generateDownloadUriWithResponseAsync( + String scope, String historyDefinitionId, String instanceId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (instanceId == null) { + return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .generateDownloadUri( + this.client.getEndpoint(), scope, historyDefinitionId, instanceId, apiVersion, accept, context); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono generateDownloadUriAsync( + String scope, String historyDefinitionId, String instanceId) { + return generateDownloadUriWithResponseAsync(scope, historyDefinitionId, instanceId) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response generateDownloadUriWithResponse( + String scope, String historyDefinitionId, String instanceId, Context context) { + return generateDownloadUriWithResponseAsync(scope, historyDefinitionId, instanceId, context).block(); + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryInstanceInner generateDownloadUri( + String scope, String historyDefinitionId, String instanceId) { + return generateDownloadUriWithResponse(scope, historyDefinitionId, instanceId, Context.NONE).getValue(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesImpl.java new file mode 100644 index 0000000000000..0f9f1933f5756 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesImpl.java @@ -0,0 +1,64 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionInstances; + +public final class ScopeAccessReviewHistoryDefinitionInstancesImpl + implements ScopeAccessReviewHistoryDefinitionInstances { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewHistoryDefinitionInstancesImpl.class); + + private final ScopeAccessReviewHistoryDefinitionInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewHistoryDefinitionInstancesImpl( + ScopeAccessReviewHistoryDefinitionInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response generateDownloadUriWithResponse( + String scope, String historyDefinitionId, String instanceId, Context context) { + Response inner = + this.serviceClient().generateDownloadUriWithResponse(scope, historyDefinitionId, instanceId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewHistoryInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewHistoryInstance generateDownloadUri( + String scope, String historyDefinitionId, String instanceId) { + AccessReviewHistoryInstanceInner inner = + this.serviceClient().generateDownloadUri(scope, historyDefinitionId, instanceId); + if (inner != null) { + return new AccessReviewHistoryInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + private ScopeAccessReviewHistoryDefinitionInstancesClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl.java new file mode 100644 index 0000000000000..26cd3bbd17663 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl.java @@ -0,0 +1,325 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstanceListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionInstancesOperationsClient. + */ +public final class ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl + implements ScopeAccessReviewHistoryDefinitionInstancesOperationsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewHistoryDefinitionInstancesOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewHistoryDefinitionInstancesOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewHistoryDefinitionInstancesOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientScopeAccessReviewHistoryDefinitionInstancesOperations to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewHistoryDefinitionInstancesOperationsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("historyDefinitionId") String historyDefinitionId, + @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); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String historyDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.list(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, 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 access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String historyDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String historyDefinitionId) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, historyDefinitionId), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String historyDefinitionId, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, historyDefinitionId, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String historyDefinitionId) { + return new PagedIterable<>(listAsync(scope, historyDefinitionId)); + } + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scope, String historyDefinitionId, Context context) { + return new PagedIterable<>(listAsync(scope, historyDefinitionId, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review History Instances 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 + *

The nextLink parameter. + * @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 list of Access Review History Instances 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl.java new file mode 100644 index 0000000000000..4db2f32cb6402 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionInstancesOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionInstancesOperations; + +public final class ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl + implements ScopeAccessReviewHistoryDefinitionInstancesOperations { + private static final ClientLogger LOGGER = + new ClientLogger(ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl.class); + + private final ScopeAccessReviewHistoryDefinitionInstancesOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl( + ScopeAccessReviewHistoryDefinitionInstancesOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope, String historyDefinitionId) { + PagedIterable inner = this.serviceClient().list(scope, historyDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String scope, String historyDefinitionId, Context context) { + PagedIterable inner = + this.serviceClient().list(scope, historyDefinitionId, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager())); + } + + private ScopeAccessReviewHistoryDefinitionInstancesOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsClientImpl.java new file mode 100644 index 0000000000000..7a70cf46e9f1f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsClientImpl.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.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +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.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.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewHistoryDefinitionOperationsClient. + */ +public final class ScopeAccessReviewHistoryDefinitionOperationsClientImpl + implements ScopeAccessReviewHistoryDefinitionOperationsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewHistoryDefinitionOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewHistoryDefinitionOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewHistoryDefinitionOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewHistoryDefinitionOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientScopeAccessReviewHistoryDefinitionOperations to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewHistoryDefinitionOperationsService { + @Headers({"Content-Type: application/json"}) + @Put("/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("historyDefinitionId") String historyDefinitionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewHistoryDefinitionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete("/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("historyDefinitionId") String historyDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + historyDefinitionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, properties, accept, context); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + return createWithResponseAsync(scope, historyDefinitionId, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) { + return createWithResponseAsync(scope, historyDefinitionId, properties, context).block(); + } + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryDefinitionInner create( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + return createWithResponse(scope, historyDefinitionId, properties, Context.NONE).getValue(); + } + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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> deleteByIdWithResponseAsync(String scope, String historyDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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> deleteByIdWithResponseAsync( + String scope, String historyDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.deleteById(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, accept, context); + } + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdAsync(String scope, String historyDefinitionId) { + return deleteByIdWithResponseAsync(scope, historyDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteByIdWithResponse(String scope, String historyDefinitionId, Context context) { + return deleteByIdWithResponseAsync(scope, historyDefinitionId, context).block(); + } + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 deleteById(String scope, String historyDefinitionId) { + deleteByIdWithResponse(scope, historyDefinitionId, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsImpl.java new file mode 100644 index 0000000000000..748e9049fe6ef --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionOperationsImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitionOperations; + +public final class ScopeAccessReviewHistoryDefinitionOperationsImpl + implements ScopeAccessReviewHistoryDefinitionOperations { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewHistoryDefinitionOperationsImpl.class); + + private final ScopeAccessReviewHistoryDefinitionOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewHistoryDefinitionOperationsImpl( + ScopeAccessReviewHistoryDefinitionOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response createWithResponse( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) { + Response inner = + this.serviceClient().createWithResponse(scope, historyDefinitionId, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewHistoryDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewHistoryDefinition create( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) { + AccessReviewHistoryDefinitionInner inner = this.serviceClient().create(scope, historyDefinitionId, properties); + if (inner != null) { + return new AccessReviewHistoryDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteByIdWithResponse(String scope, String historyDefinitionId, Context context) { + return this.serviceClient().deleteByIdWithResponse(scope, historyDefinitionId, context); + } + + public void deleteById(String scope, String historyDefinitionId) { + this.serviceClient().deleteById(scope, historyDefinitionId); + } + + private ScopeAccessReviewHistoryDefinitionOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsClientImpl.java new file mode 100644 index 0000000000000..4f77580bce365 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsClientImpl.java @@ -0,0 +1,460 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewHistoryDefinitionsClient. + */ +public final class ScopeAccessReviewHistoryDefinitionsClientImpl implements ScopeAccessReviewHistoryDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewHistoryDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewHistoryDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewHistoryDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewHistoryDefinitionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewHistoryDefinitions to + * be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewHistoryDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("historyDefinitionId") String historyDefinitionId, + @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 the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), scope, apiVersion, filter, 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 the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope) { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope) { + final String filter = null; + return new PagedIterable<>(listAsync(scope, filter)); + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String filter, Context context) { + return new PagedIterable<>(listAsync(scope, filter, context)); + } + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String historyDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.getById(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String historyDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (historyDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), scope, historyDefinitionId, apiVersion, accept, context); + } + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scope, String historyDefinitionId) { + return getByIdWithResponseAsync(scope, historyDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scope, String historyDefinitionId, Context context) { + return getByIdWithResponseAsync(scope, historyDefinitionId, context).block(); + } + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewHistoryDefinitionInner getById(String scope, String historyDefinitionId) { + return getByIdWithResponse(scope, historyDefinitionId, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review History Definitions 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 + *

The nextLink parameter. + * @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 list of Access Review History Definitions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsImpl.java new file mode 100644 index 0000000000000..8fc1f2ff78d97 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewHistoryDefinitionsImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewHistoryDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewHistoryDefinitions; + +public final class ScopeAccessReviewHistoryDefinitionsImpl implements ScopeAccessReviewHistoryDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewHistoryDefinitionsImpl.class); + + private final ScopeAccessReviewHistoryDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewHistoryDefinitionsImpl( + ScopeAccessReviewHistoryDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope) { + PagedIterable inner = this.serviceClient().list(scope); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().list(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse( + String scope, String historyDefinitionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scope, historyDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewHistoryDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewHistoryDefinition getById(String scope, String historyDefinitionId) { + AccessReviewHistoryDefinitionInner inner = this.serviceClient().getById(scope, historyDefinitionId); + if (inner != null) { + return new AccessReviewHistoryDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + private ScopeAccessReviewHistoryDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersClientImpl.java new file mode 100644 index 0000000000000..b62eb079ea140 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersClientImpl.java @@ -0,0 +1,339 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewerListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewInstanceContactedReviewersClient. + */ +public final class ScopeAccessReviewInstanceContactedReviewersClientImpl + implements ScopeAccessReviewInstanceContactedReviewersClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewInstanceContactedReviewersService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewInstanceContactedReviewersClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewInstanceContactedReviewersClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewInstanceContactedReviewersService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientScopeAccessReviewInstanceContactedReviewers to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewInstanceContactedReviewersService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @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); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, 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 access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String scheduleDefinitionId, String id) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, id, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scope, String scheduleDefinitionId, String id) { + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, id)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scope, String scheduleDefinitionId, String id, Context context) { + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, id, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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 + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersImpl.java new file mode 100644 index 0000000000000..159ea75badddd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceContactedReviewersImpl.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceContactedReviewers; + +public final class ScopeAccessReviewInstanceContactedReviewersImpl + implements ScopeAccessReviewInstanceContactedReviewers { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewInstanceContactedReviewersImpl.class); + + private final ScopeAccessReviewInstanceContactedReviewersClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewInstanceContactedReviewersImpl( + ScopeAccessReviewInstanceContactedReviewersClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope, String scheduleDefinitionId, String id) { + PagedIterable inner = + this.serviceClient().list(scope, scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + public PagedIterable list( + String scope, String scheduleDefinitionId, String id, Context context) { + PagedIterable inner = + this.serviceClient().list(scope, scheduleDefinitionId, id, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + private ScopeAccessReviewInstanceContactedReviewersClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsClientImpl.java new file mode 100644 index 0000000000000..0dd44132f983f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsClientImpl.java @@ -0,0 +1,379 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceDecisionsClient. + */ +public final class ScopeAccessReviewInstanceDecisionsClientImpl implements ScopeAccessReviewInstanceDecisionsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewInstanceDecisionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewInstanceDecisionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewInstanceDecisionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewInstanceDecisionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewInstanceDecisions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewInstanceDecisionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @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); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String id, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scope, + scheduleDefinitionId, + id, + apiVersion, + filter, + 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 access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String id, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String scheduleDefinitionId, String id, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, id, filter), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, id, filter), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, id, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, id, filter)); + } + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scope, String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, id, filter, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review decisions 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 + *

The nextLink parameter. + * @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 list of access review decisions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsImpl.java new file mode 100644 index 0000000000000..4a9af27f11d75 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceDecisionsImpl.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.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceDecisions; + +public final class ScopeAccessReviewInstanceDecisionsImpl implements ScopeAccessReviewInstanceDecisions { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewInstanceDecisionsImpl.class); + + private final ScopeAccessReviewInstanceDecisionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewInstanceDecisionsImpl( + ScopeAccessReviewInstanceDecisionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope, String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scope, scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public PagedIterable list( + String scope, String scheduleDefinitionId, String id, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scope, scheduleDefinitionId, id, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + private ScopeAccessReviewInstanceDecisionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsClientImpl.java new file mode 100644 index 0000000000000..524079a15994f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsClientImpl.java @@ -0,0 +1,799 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.models.RecordAllDecisionsProperties; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceOperationsClient. + */ +public final class ScopeAccessReviewInstanceOperationsClientImpl implements ScopeAccessReviewInstanceOperationsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewInstanceOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewInstanceOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewInstanceOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewInstanceOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewInstanceOperations to + * be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewInstanceOperationsService { + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/recordAllDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> recordAllDecisions( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RecordAllDecisionsProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/resetDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> resetDecisions( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/applyDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> applyDecisions( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/sendReminders") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> sendReminders( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> stopWithResponseAsync(String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> stopWithResponseAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.stop(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopAsync(String scope, String scheduleDefinitionId, String id) { + return stopWithResponseAsync(scope, scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, String id, Context context) { + return stopWithResponseAsync(scope, scheduleDefinitionId, id, context).block(); + } + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scope, String scheduleDefinitionId, String id) { + stopWithResponse(scope, scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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> recordAllDecisionsWithResponseAsync( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .recordAllDecisions( + this.client.getEndpoint(), + scope, + scheduleDefinitionId, + id, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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> recordAllDecisionsWithResponseAsync( + String scope, + String scheduleDefinitionId, + String id, + RecordAllDecisionsProperties properties, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .recordAllDecisions( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, properties, accept, context); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisionsAsync( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties) { + return recordAllDecisionsWithResponseAsync(scope, scheduleDefinitionId, id, properties) + .flatMap(ignored -> Mono.empty()); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisionsWithResponse( + String scope, + String scheduleDefinitionId, + String id, + RecordAllDecisionsProperties properties, + Context context) { + return recordAllDecisionsWithResponseAsync(scope, scheduleDefinitionId, id, properties, context).block(); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisions( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties) { + recordAllDecisionsWithResponse(scope, scheduleDefinitionId, id, properties, Context.NONE); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> resetDecisionsWithResponseAsync(String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .resetDecisions( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> resetDecisionsWithResponseAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .resetDecisions(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsAsync(String scope, String scheduleDefinitionId, String id) { + return resetDecisionsWithResponseAsync(scope, scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return resetDecisionsWithResponseAsync(scope, scheduleDefinitionId, id, context).block(); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scope, String scheduleDefinitionId, String id) { + resetDecisionsWithResponse(scope, scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> applyDecisionsWithResponseAsync(String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .applyDecisions( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> applyDecisionsWithResponseAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .applyDecisions(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsAsync(String scope, String scheduleDefinitionId, String id) { + return applyDecisionsWithResponseAsync(scope, scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return applyDecisionsWithResponseAsync(scope, scheduleDefinitionId, id, context).block(); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scope, String scheduleDefinitionId, String id) { + applyDecisionsWithResponse(scope, scheduleDefinitionId, id, Context.NONE); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> sendRemindersWithResponseAsync(String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .sendReminders( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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> sendRemindersWithResponseAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .sendReminders(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersAsync(String scope, String scheduleDefinitionId, String id) { + return sendRemindersWithResponseAsync(scope, scheduleDefinitionId, id).flatMap(ignored -> Mono.empty()); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return sendRemindersWithResponseAsync(scope, scheduleDefinitionId, id, context).block(); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scope, String scheduleDefinitionId, String id) { + sendRemindersWithResponse(scope, scheduleDefinitionId, id, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsImpl.java new file mode 100644 index 0000000000000..978f76c595f47 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstanceOperationsImpl.java @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.ScopeAccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.models.RecordAllDecisionsProperties; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstanceOperations; + +public final class ScopeAccessReviewInstanceOperationsImpl implements ScopeAccessReviewInstanceOperations { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewInstanceOperationsImpl.class); + + private final ScopeAccessReviewInstanceOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewInstanceOperationsImpl( + ScopeAccessReviewInstanceOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public Response stopWithResponse(String scope, String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().stopWithResponse(scope, scheduleDefinitionId, id, context); + } + + public void stop(String scope, String scheduleDefinitionId, String id) { + this.serviceClient().stop(scope, scheduleDefinitionId, id); + } + + public Response recordAllDecisionsWithResponse( + String scope, + String scheduleDefinitionId, + String id, + RecordAllDecisionsProperties properties, + Context context) { + return this + .serviceClient() + .recordAllDecisionsWithResponse(scope, scheduleDefinitionId, id, properties, context); + } + + public void recordAllDecisions( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties) { + this.serviceClient().recordAllDecisions(scope, scheduleDefinitionId, id, properties); + } + + public Response resetDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().resetDecisionsWithResponse(scope, scheduleDefinitionId, id, context); + } + + public void resetDecisions(String scope, String scheduleDefinitionId, String id) { + this.serviceClient().resetDecisions(scope, scheduleDefinitionId, id); + } + + public Response applyDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().applyDecisionsWithResponse(scope, scheduleDefinitionId, id, context); + } + + public void applyDecisions(String scope, String scheduleDefinitionId, String id) { + this.serviceClient().applyDecisions(scope, scheduleDefinitionId, id); + } + + public Response sendRemindersWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().sendRemindersWithResponse(scope, scheduleDefinitionId, id, context); + } + + public void sendReminders(String scope, String scheduleDefinitionId, String id) { + this.serviceClient().sendReminders(scope, scheduleDefinitionId, id); + } + + private ScopeAccessReviewInstanceOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesClientImpl.java new file mode 100644 index 0000000000000..a17543b3744e2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesClientImpl.java @@ -0,0 +1,681 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +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.authorization.generated.fluent.ScopeAccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in ScopeAccessReviewInstancesClient. */ +public final class ScopeAccessReviewInstancesClientImpl implements ScopeAccessReviewInstancesClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewInstancesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewInstances to be used by + * the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewInstancesService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put( + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewInstanceProperties properties, + @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); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scope, + scheduleDefinitionId, + apiVersion, + filter, + 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 access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String scheduleDefinitionId, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String scheduleDefinitionId, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, filter), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String scheduleDefinitionId) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, filter), + nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scope, String scheduleDefinitionId, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, scheduleDefinitionId, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String scheduleDefinitionId) { + final String filter = null; + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, filter)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scope, String scheduleDefinitionId, String filter, Context context) { + return new PagedIterable<>(listAsync(scope, scheduleDefinitionId, filter, context)); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scope, String scheduleDefinitionId, String id) { + return getByIdWithResponseAsync(scope, scheduleDefinitionId, id) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + return getByIdWithResponseAsync(scope, scheduleDefinitionId, id, context).block(); + } + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner getById(String scope, String scheduleDefinitionId, String id) { + return getByIdWithResponse(scope, scheduleDefinitionId, id, Context.NONE).getValue(); + } + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + scheduleDefinitionId, + id, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, + String scheduleDefinitionId, + String id, + AccessReviewInstanceProperties properties, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), scope, scheduleDefinitionId, id, apiVersion, properties, accept, context); + } + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + return createWithResponseAsync(scope, scheduleDefinitionId, id, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, + String scheduleDefinitionId, + String id, + AccessReviewInstanceProperties properties, + Context context) { + return createWithResponseAsync(scope, scheduleDefinitionId, id, properties, context).block(); + } + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner create( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + return createWithResponse(scope, scheduleDefinitionId, id, properties, Context.NONE).getValue(); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Instances 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 + *

The nextLink parameter. + * @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 list of Access Review Instances 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesImpl.java new file mode 100644 index 0000000000000..3fe30c15c2286 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewInstancesImpl.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewInstances; + +public final class ScopeAccessReviewInstancesImpl implements ScopeAccessReviewInstances { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewInstancesImpl.class); + + private final ScopeAccessReviewInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewInstancesImpl( + ScopeAccessReviewInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope, String scheduleDefinitionId) { + PagedIterable inner = this.serviceClient().list(scope, scheduleDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list( + String scope, String scheduleDefinitionId, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scope, scheduleDefinitionId, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse( + String scope, String scheduleDefinitionId, String id, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scope, scheduleDefinitionId, id, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewInstance getById(String scope, String scheduleDefinitionId, String id) { + AccessReviewInstanceInner inner = this.serviceClient().getById(scope, scheduleDefinitionId, id); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response createWithResponse( + String scope, + String scheduleDefinitionId, + String id, + AccessReviewInstanceProperties properties, + Context context) { + Response inner = + this.serviceClient().createWithResponse(scope, scheduleDefinitionId, id, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewInstance create( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties) { + AccessReviewInstanceInner inner = this.serviceClient().create(scope, scheduleDefinitionId, id, properties); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + private ScopeAccessReviewInstancesClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsClientImpl.java new file mode 100644 index 0000000000000..3145144cd2f7f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsClientImpl.java @@ -0,0 +1,875 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.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.authorization.generated.fluent.ScopeAccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * ScopeAccessReviewScheduleDefinitionsClient. + */ +public final class ScopeAccessReviewScheduleDefinitionsClientImpl + implements ScopeAccessReviewScheduleDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final ScopeAccessReviewScheduleDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ScopeAccessReviewScheduleDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ScopeAccessReviewScheduleDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ScopeAccessReviewScheduleDefinitionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientScopeAccessReviewScheduleDefinitions to + * be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface ScopeAccessReviewScheduleDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createOrUpdateById( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewScheduleDefinitionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post("/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("scope") String scope, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @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); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), scope, apiVersion, filter, 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 access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope) { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope) { + final String filter = null; + return new PagedIterable<>(listAsync(scope, filter)); + } + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String filter, Context context) { + return new PagedIterable<>(listAsync(scope, filter, context)); + } + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scope, String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context); + } + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scope, String scheduleDefinitionId) { + return getByIdWithResponseAsync(scope, scheduleDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scope, String scheduleDefinitionId, Context context) { + return getByIdWithResponseAsync(scope, scheduleDefinitionId, context).block(); + } + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner getById(String scope, String scheduleDefinitionId) { + return getByIdWithResponse(scope, scheduleDefinitionId, Context.NONE).getValue(); + } + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> deleteByIdWithResponseAsync(String scope, String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById( + this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> deleteByIdWithResponseAsync( + String scope, String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.deleteById(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context); + } + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdAsync(String scope, String scheduleDefinitionId) { + return deleteByIdWithResponseAsync(scope, scheduleDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteByIdWithResponse(String scope, String scheduleDefinitionId, Context context) { + return deleteByIdWithResponseAsync(scope, scheduleDefinitionId, context).block(); + } + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 deleteById(String scope, String scheduleDefinitionId) { + deleteByIdWithResponse(scope, scheduleDefinitionId, Context.NONE); + } + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createOrUpdateById( + this.client.getEndpoint(), + scope, + scheduleDefinitionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scope, + String scheduleDefinitionId, + AccessReviewScheduleDefinitionProperties properties, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .createOrUpdateById( + this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, properties, accept, context); + } + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createOrUpdateByIdAsync( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdWithResponseAsync(scope, scheduleDefinitionId, properties) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateByIdWithResponse( + String scope, + String scheduleDefinitionId, + AccessReviewScheduleDefinitionProperties properties, + Context context) { + return createOrUpdateByIdWithResponseAsync(scope, scheduleDefinitionId, properties, context).block(); + } + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner createOrUpdateById( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdWithResponse(scope, scheduleDefinitionId, properties, Context.NONE).getValue(); + } + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> stopWithResponseAsync(String scope, String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.stop(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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> stopWithResponseAsync(String scope, String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.stop(this.client.getEndpoint(), scope, scheduleDefinitionId, apiVersion, accept, context); + } + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopAsync(String scope, String scheduleDefinitionId) { + return stopWithResponseAsync(scope, scheduleDefinitionId).flatMap(ignored -> Mono.empty()); + } + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, Context context) { + return stopWithResponseAsync(scope, scheduleDefinitionId, context).block(); + } + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scope, String scheduleDefinitionId) { + stopWithResponse(scope, scheduleDefinitionId, Context.NONE); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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 + *

The nextLink parameter. + * @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 list of Access Review Schedule Definitions 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsImpl.java new file mode 100644 index 0000000000000..c88f43201e2c9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ScopeAccessReviewScheduleDefinitionsImpl.java @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.ScopeAccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.ScopeAccessReviewScheduleDefinitions; + +public final class ScopeAccessReviewScheduleDefinitionsImpl implements ScopeAccessReviewScheduleDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(ScopeAccessReviewScheduleDefinitionsImpl.class); + + private final ScopeAccessReviewScheduleDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ScopeAccessReviewScheduleDefinitionsImpl( + ScopeAccessReviewScheduleDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scope) { + PagedIterable inner = this.serviceClient().list(scope); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().list(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public Response getByIdWithResponse( + String scope, String scheduleDefinitionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scope, scheduleDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewScheduleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewScheduleDefinition getById(String scope, String scheduleDefinitionId) { + AccessReviewScheduleDefinitionInner inner = this.serviceClient().getById(scope, scheduleDefinitionId); + if (inner != null) { + return new AccessReviewScheduleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteByIdWithResponse(String scope, String scheduleDefinitionId, Context context) { + return this.serviceClient().deleteByIdWithResponse(scope, scheduleDefinitionId, context); + } + + public void deleteById(String scope, String scheduleDefinitionId) { + this.serviceClient().deleteById(scope, scheduleDefinitionId); + } + + public Response createOrUpdateByIdWithResponse( + String scope, + String scheduleDefinitionId, + AccessReviewScheduleDefinitionProperties properties, + Context context) { + Response inner = + this.serviceClient().createOrUpdateByIdWithResponse(scope, scheduleDefinitionId, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewScheduleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewScheduleDefinition createOrUpdateById( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + AccessReviewScheduleDefinitionInner inner = + this.serviceClient().createOrUpdateById(scope, scheduleDefinitionId, properties); + if (inner != null) { + return new AccessReviewScheduleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response stopWithResponse(String scope, String scheduleDefinitionId, Context context) { + return this.serviceClient().stopWithResponse(scope, scheduleDefinitionId, context); + } + + public void stop(String scope, String scheduleDefinitionId) { + this.serviceClient().stop(scope, scheduleDefinitionId); + } + + private ScopeAccessReviewScheduleDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersClientImpl.java new file mode 100644 index 0000000000000..3a83330c3fb0f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersClientImpl.java @@ -0,0 +1,323 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.TenantLevelAccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewerListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * TenantLevelAccessReviewInstanceContactedReviewersClient. + */ +public final class TenantLevelAccessReviewInstanceContactedReviewersClientImpl + implements TenantLevelAccessReviewInstanceContactedReviewersClient { + /** The proxy service used to perform REST calls. */ + private final TenantLevelAccessReviewInstanceContactedReviewersService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of TenantLevelAccessReviewInstanceContactedReviewersClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + TenantLevelAccessReviewInstanceContactedReviewersClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + TenantLevelAccessReviewInstanceContactedReviewersService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientTenantLevelAccessReviewInstanceContactedReviewers to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + public interface TenantLevelAccessReviewInstanceContactedReviewersService { + @Headers({"Content-Type: application/json"}) + @Get( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @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); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, 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 access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-12-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String id, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id)); + } + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scheduleDefinitionId, String id, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The URL to get the next list of items + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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 + *

The nextLink parameter. + * @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 list of access review contacted reviewers 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersImpl.java new file mode 100644 index 0000000000000..7d2b85d1ab33b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/TenantLevelAccessReviewInstanceContactedReviewersImpl.java @@ -0,0 +1,49 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.authorization.generated.fluent.TenantLevelAccessReviewInstanceContactedReviewersClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer; +import com.azure.resourcemanager.authorization.generated.models.TenantLevelAccessReviewInstanceContactedReviewers; + +public final class TenantLevelAccessReviewInstanceContactedReviewersImpl + implements TenantLevelAccessReviewInstanceContactedReviewers { + private static final ClientLogger LOGGER = + new ClientLogger(TenantLevelAccessReviewInstanceContactedReviewersImpl.class); + + private final TenantLevelAccessReviewInstanceContactedReviewersClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public TenantLevelAccessReviewInstanceContactedReviewersImpl( + TenantLevelAccessReviewInstanceContactedReviewersClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, id, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager())); + } + + private TenantLevelAccessReviewInstanceContactedReviewersClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.java new file mode 100644 index 0000000000000..9ee144b3a9883 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.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.authorization.generated.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 Utils { + 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.size() > 0 && 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, PagedResponse>(pagedIterable.iterableByPage(), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken) { + return new IterableImpl, PagedResponse>( + pagedIterable.iterableByPage(continuationToken), pageMapper); + } + + @Override + public Iterable> iterableByPage(int preferredPageSize) { + return new IterableImpl, PagedResponse>( + pagedIterable.iterableByPage(preferredPageSize), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken, int preferredPageSize) { + return new IterableImpl, PagedResponse>( + 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/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java new file mode 100644 index 0000000000000..37a53e1b81087 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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 AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.implementation; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java new file mode 100644 index 0000000000000..ae6aec980c06c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The feature- generated recommendation shown to the reviewer. */ +public final class AccessRecommendationType extends ExpandableStringEnum { + /** Static value Approve for AccessRecommendationType. */ + public static final AccessRecommendationType APPROVE = fromString("Approve"); + + /** Static value Deny for AccessRecommendationType. */ + public static final AccessRecommendationType DENY = fromString("Deny"); + + /** Static value NoInfoAvailable for AccessRecommendationType. */ + public static final AccessRecommendationType NO_INFO_AVAILABLE = fromString("NoInfoAvailable"); + + /** + * Creates a new instance of AccessRecommendationType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessRecommendationType() { + } + + /** + * Creates or finds a AccessRecommendationType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessRecommendationType. + */ + @JsonCreator + public static AccessRecommendationType fromString(String name) { + return fromString(name, AccessRecommendationType.class); + } + + /** + * Gets known AccessRecommendationType values. + * + * @return known AccessRecommendationType values. + */ + public static Collection values() { + return values(AccessRecommendationType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java new file mode 100644 index 0000000000000..9dc1fd17761a4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The identity type : user/servicePrincipal. */ +public final class AccessReviewActorIdentityType extends ExpandableStringEnum { + /** Static value user for AccessReviewActorIdentityType. */ + public static final AccessReviewActorIdentityType USER = fromString("user"); + + /** Static value servicePrincipal for AccessReviewActorIdentityType. */ + public static final AccessReviewActorIdentityType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates a new instance of AccessReviewActorIdentityType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewActorIdentityType() { + } + + /** + * Creates or finds a AccessReviewActorIdentityType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewActorIdentityType. + */ + @JsonCreator + public static AccessReviewActorIdentityType fromString(String name) { + return fromString(name, AccessReviewActorIdentityType.class); + } + + /** + * Gets known AccessReviewActorIdentityType values. + * + * @return known AccessReviewActorIdentityType values. + */ + public static Collection values() { + return values(AccessReviewActorIdentityType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java new file mode 100644 index 0000000000000..e45410fb99ced --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The outcome of applying the decision. */ +public final class AccessReviewApplyResult extends ExpandableStringEnum { + /** Static value New for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult NEW = fromString("New"); + + /** Static value Applying for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLYING = fromString("Applying"); + + /** Static value AppliedSuccessfully for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_SUCCESSFULLY = fromString("AppliedSuccessfully"); + + /** Static value AppliedWithUnknownFailure for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_WITH_UNKNOWN_FAILURE = fromString("AppliedWithUnknownFailure"); + + /** Static value AppliedSuccessfullyButObjectNotFound for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_SUCCESSFULLY_BUT_OBJECT_NOT_FOUND = + fromString("AppliedSuccessfullyButObjectNotFound"); + + /** Static value ApplyNotSupported for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLY_NOT_SUPPORTED = fromString("ApplyNotSupported"); + + /** + * Creates a new instance of AccessReviewApplyResult value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewApplyResult() { + } + + /** + * Creates or finds a AccessReviewApplyResult from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewApplyResult. + */ + @JsonCreator + public static AccessReviewApplyResult fromString(String name) { + return fromString(name, AccessReviewApplyResult.class); + } + + /** + * Gets known AccessReviewApplyResult values. + * + * @return known AccessReviewApplyResult values. + */ + public static Collection values() { + return values(AccessReviewApplyResult.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewer.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewer.java new file mode 100644 index 0000000000000..2409391d12643 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewer.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewContactedReviewer. */ +public interface AccessReviewContactedReviewer { + /** + * 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 userDisplayName property: The display name of the reviewer. + * + * @return the userDisplayName value. + */ + String userDisplayName(); + + /** + * Gets the userPrincipalName property: The user principal name of the reviewer. + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the createdDateTime property: Date Time when the reviewer was contacted. + * + * @return the createdDateTime value. + */ + OffsetDateTime createdDateTime(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner + * object. + * + * @return the inner object. + */ + AccessReviewContactedReviewerInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewerListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewerListResult.java new file mode 100644 index 0000000000000..45c6d810590ff --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewContactedReviewerListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of access review contacted reviewers. */ +@Fluent +public final class AccessReviewContactedReviewerListResult { + /* + * Access Review Contacted Reviewer. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewContactedReviewerListResult class. */ + public AccessReviewContactedReviewerListResult() { + } + + /** + * Get the value property: Access Review Contacted Reviewer. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Contacted Reviewer. + * + * @param value the value value to set. + * @return the AccessReviewContactedReviewerListResult object itself. + */ + public AccessReviewContactedReviewerListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewContactedReviewerListResult object itself. + */ + public AccessReviewContactedReviewerListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java new file mode 100644 index 0000000000000..66e7f1c3cd4bc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AccessReviewDecision. */ +public interface AccessReviewDecision { + /** + * 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 principal property: Principal associated with the decision record. Can be + * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity. + * + * @return the principal value. + */ + AccessReviewDecisionIdentity principal(); + + /** + * Gets the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + AccessRecommendationType recommendation(); + + /** + * Gets the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + AccessReviewResult decision(); + + /** + * Gets the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + String justification(); + + /** + * Gets the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + OffsetDateTime reviewedDateTime(); + + /** + * Gets the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + AccessReviewApplyResult applyResult(); + + /** + * Gets the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + OffsetDateTime appliedDateTime(); + + /** + * Gets the insights property: This is the collection of insights for this decision item. + * + * @return the insights value. + */ + List insights(); + + /** + * Gets the typePropertiesType property: The type of resource. + * + * @return the typePropertiesType value. + */ + DecisionResourceType typePropertiesType(); + + /** + * Gets the idPropertiesId property: The id of resource associated with a decision record. + * + * @return the idPropertiesId value. + */ + String idPropertiesId(); + + /** + * Gets the displayName property: The display name of resource associated with a decision record. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the principalId property: The identity id. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + AccessReviewActorIdentityType principalType(); + + /** + * Gets the principalName property: The identity display name. + * + * @return the principalName value. + */ + String principalName(); + + /** + * Gets the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the principalIdAppliedByPrincipalId property: The identity id. + * + * @return the principalIdAppliedByPrincipalId value. + */ + String principalIdAppliedByPrincipalId(); + + /** + * Gets the principalTypeAppliedByPrincipalType property: The identity type : user/servicePrincipal. + * + * @return the principalTypeAppliedByPrincipalType value. + */ + AccessReviewActorIdentityType principalTypeAppliedByPrincipalType(); + + /** + * Gets the principalNameAppliedByPrincipalName property: The identity display name. + * + * @return the principalNameAppliedByPrincipalName value. + */ + String principalNameAppliedByPrincipalName(); + + /** + * Gets the userPrincipalNameAppliedByUserPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalNameAppliedByUserPrincipalName value. + */ + String userPrincipalNameAppliedByUserPrincipalName(); + + /** + * Gets the membershipTypes property: Every decision item in an access review represents a principal's membership to + * a resource. This property represents details of the membership. Examples of this detail might be whether the + * principal has direct access or indirect access. + * + * @return the membershipTypes value. + */ + List membershipTypes(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner object. + * + * @return the inner object. + */ + AccessReviewDecisionInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionIdentity.java new file mode 100644 index 0000000000000..a36b8ef424fda --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionIdentity.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.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Target of the decision. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "type", + defaultImpl = AccessReviewDecisionIdentity.class) +@JsonTypeName("AccessReviewDecisionIdentity") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "user", value = AccessReviewDecisionUserIdentity.class), + @JsonSubTypes.Type(name = "servicePrincipal", value = AccessReviewDecisionServicePrincipalIdentity.class) +}) +@Immutable +public class AccessReviewDecisionIdentity { + /* + * The id of principal whose access was reviewed. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The display name of the user whose access was reviewed. + */ + @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY) + private String displayName; + + /** Creates an instance of AccessReviewDecisionIdentity class. */ + public AccessReviewDecisionIdentity() { + } + + /** + * Get the id property: The id of principal whose access was reviewed. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the displayName property: The display name of the user whose access was reviewed. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsight.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsight.java new file mode 100644 index 0000000000000..4929ed5e064f1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsight.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Access Review Decision Insight. */ +@Fluent +public final class AccessReviewDecisionInsight extends ProxyResource { + /* + * Access Review Decision Insight properties. + */ + @JsonProperty(value = "properties") + private AccessReviewDecisionInsightProperties properties; + + /** Creates an instance of AccessReviewDecisionInsight class. */ + public AccessReviewDecisionInsight() { + } + + /** + * Get the properties property: Access Review Decision Insight properties. + * + * @return the properties value. + */ + public AccessReviewDecisionInsightProperties properties() { + return this.properties; + } + + /** + * Set the properties property: Access Review Decision Insight properties. + * + * @param properties the properties value to set. + * @return the AccessReviewDecisionInsight object itself. + */ + public AccessReviewDecisionInsight withProperties(AccessReviewDecisionInsightProperties properties) { + this.properties = properties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (properties() != null) { + properties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightProperties.java new file mode 100644 index 0000000000000..29bb64ac55aed --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightProperties.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.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Details of the Insight. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "type", + defaultImpl = AccessReviewDecisionInsightProperties.class) +@JsonTypeName("AccessReviewDecisionInsightProperties") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "userSignInInsight", value = AccessReviewDecisionUserSignInInsightProperties.class) +}) +@Immutable +public class AccessReviewDecisionInsightProperties { + /* + * Date Time when the insight was created. + */ + @JsonProperty(value = "insightCreatedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private Object insightCreatedDateTime; + + /** Creates an instance of AccessReviewDecisionInsightProperties class. */ + public AccessReviewDecisionInsightProperties() { + } + + /** + * Get the insightCreatedDateTime property: Date Time when the insight was created. + * + * @return the insightCreatedDateTime value. + */ + public Object insightCreatedDateTime() { + return this.insightCreatedDateTime; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightType.java new file mode 100644 index 0000000000000..ef089977d325b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionInsightType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The type of insight. */ +public final class AccessReviewDecisionInsightType extends ExpandableStringEnum { + /** Static value userSignInInsight for AccessReviewDecisionInsightType. */ + public static final AccessReviewDecisionInsightType USER_SIGN_IN_INSIGHT = fromString("userSignInInsight"); + + /** + * Creates a new instance of AccessReviewDecisionInsightType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewDecisionInsightType() { + } + + /** + * Creates or finds a AccessReviewDecisionInsightType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewDecisionInsightType. + */ + @JsonCreator + public static AccessReviewDecisionInsightType fromString(String name) { + return fromString(name, AccessReviewDecisionInsightType.class); + } + + /** + * Gets known AccessReviewDecisionInsightType values. + * + * @return known AccessReviewDecisionInsightType values. + */ + public static Collection values() { + return values(AccessReviewDecisionInsightType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java new file mode 100644 index 0000000000000..be30018af30fc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of access review decisions. */ +@Fluent +public final class AccessReviewDecisionListResult { + /* + * Access Review Decision list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewDecisionListResult class. */ + public AccessReviewDecisionListResult() { + } + + /** + * Get the value property: Access Review Decision list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Decision list. + * + * @param value the value value to set. + * @return the AccessReviewDecisionListResult object itself. + */ + public AccessReviewDecisionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewDecisionListResult object itself. + */ + public AccessReviewDecisionListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionPrincipalResourceMembershipType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionPrincipalResourceMembershipType.java new file mode 100644 index 0000000000000..7c15cb1c99c28 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionPrincipalResourceMembershipType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewDecisionPrincipalResourceMembershipType. */ +public final class AccessReviewDecisionPrincipalResourceMembershipType + extends ExpandableStringEnum { + /** Static value direct for AccessReviewDecisionPrincipalResourceMembershipType. */ + public static final AccessReviewDecisionPrincipalResourceMembershipType DIRECT = fromString("direct"); + + /** Static value indirect for AccessReviewDecisionPrincipalResourceMembershipType. */ + public static final AccessReviewDecisionPrincipalResourceMembershipType INDIRECT = fromString("indirect"); + + /** + * Creates a new instance of AccessReviewDecisionPrincipalResourceMembershipType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewDecisionPrincipalResourceMembershipType() { + } + + /** + * Creates or finds a AccessReviewDecisionPrincipalResourceMembershipType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewDecisionPrincipalResourceMembershipType. + */ + @JsonCreator + public static AccessReviewDecisionPrincipalResourceMembershipType fromString(String name) { + return fromString(name, AccessReviewDecisionPrincipalResourceMembershipType.class); + } + + /** + * Gets known AccessReviewDecisionPrincipalResourceMembershipType values. + * + * @return known AccessReviewDecisionPrincipalResourceMembershipType values. + */ + public static Collection values() { + return values(AccessReviewDecisionPrincipalResourceMembershipType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java new file mode 100644 index 0000000000000..6434f8f82c723 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Service Principal Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("servicePrincipal") +@Immutable +public final class AccessReviewDecisionServicePrincipalIdentity extends AccessReviewDecisionIdentity { + /* + * The appId for the service principal entity being reviewed + */ + @JsonProperty(value = "appId", access = JsonProperty.Access.WRITE_ONLY) + private String appId; + + /** Creates an instance of AccessReviewDecisionServicePrincipalIdentity class. */ + public AccessReviewDecisionServicePrincipalIdentity() { + } + + /** + * Get the appId property: The appId for the service principal entity being reviewed. + * + * @return the appId value. + */ + public String appId() { + return this.appId; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java new file mode 100644 index 0000000000000..ba76adc0af710 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** User Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("user") +@Immutable +public final class AccessReviewDecisionUserIdentity extends AccessReviewDecisionIdentity { + /* + * The user principal name of the user whose access was reviewed. + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /** Creates an instance of AccessReviewDecisionUserIdentity class. */ + public AccessReviewDecisionUserIdentity() { + } + + /** + * Get the userPrincipalName property: The user principal name of the user whose access was reviewed. + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.userPrincipalName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserSignInInsightProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserSignInInsightProperties.java new file mode 100644 index 0000000000000..3616f46ec130b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserSignInInsightProperties.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** User Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("userSignInInsight") +@Immutable +public final class AccessReviewDecisionUserSignInInsightProperties extends AccessReviewDecisionInsightProperties { + /* + * Date Time when the user signed into the tenant. + */ + @JsonProperty(value = "lastSignInDateTime", access = JsonProperty.Access.WRITE_ONLY) + private Object lastSignInDateTime; + + /** Creates an instance of AccessReviewDecisionUserSignInInsightProperties class. */ + public AccessReviewDecisionUserSignInInsightProperties() { + } + + /** + * Get the lastSignInDateTime property: Date Time when the user signed into the tenant. + * + * @return the lastSignInDateTime value. + */ + public Object lastSignInDateTime() { + return this.lastSignInDateTime; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java new file mode 100644 index 0000000000000..585349712358a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import java.time.Duration; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewDefaultSettings. */ +public interface AccessReviewDefaultSettings { + /** + * 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 mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + Boolean mailNotificationsEnabled(); + + /** + * Gets the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + Boolean reminderNotificationsEnabled(); + + /** + * Gets the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + Boolean defaultDecisionEnabled(); + + /** + * Gets the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + Boolean justificationRequiredOnApproval(); + + /** + * Gets the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + DefaultDecisionType defaultDecision(); + + /** + * Gets the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + Boolean autoApplyDecisionsEnabled(); + + /** + * Gets the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + Boolean recommendationsEnabled(); + + /** + * Gets the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + Duration recommendationLookBackDuration(); + + /** + * Gets the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + Integer instanceDurationInDays(); + + /** + * Gets the typePropertiesType property: The recurrence type : weekly, monthly, etc. + * + * @return the typePropertiesType value. + */ + AccessReviewRecurrencePatternType typePropertiesType(); + + /** + * Gets the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + Integer interval(); + + /** + * Gets the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + AccessReviewRecurrenceRangeType typeRangeType(); + + /** + * Gets the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + Integer numberOfOccurrences(); + + /** + * Gets the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + OffsetDateTime startDate(); + + /** + * Gets the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + OffsetDateTime endDate(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner + * object. + * + * @return the inner object. + */ + AccessReviewDefaultSettingsInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java new file mode 100644 index 0000000000000..c7ba05a9e2744 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Resource collection API of AccessReviewDefaultSettingsOperations. */ +public interface AccessReviewDefaultSettingsOperations { + /** + * Get access review default settings for 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 access review default settings for the subscription along with {@link Response}. + */ + Response getWithResponse(Context context); + + /** + * Get access review default settings for 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 access review default settings for the subscription. + */ + AccessReviewDefaultSettings get(); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + Response putWithResponse(AccessReviewScheduleSettings properties, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinition.java new file mode 100644 index 0000000000000..d891ab3f7e0cb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinition.java @@ -0,0 +1,330 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScope; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AccessReviewHistoryDefinition. */ +public interface AccessReviewHistoryDefinition { + /** + * 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 displayName property: The display name for the history definition. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + OffsetDateTime reviewHistoryPeriodStartDateTime(); + + /** + * Gets the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + OffsetDateTime reviewHistoryPeriodEndDateTime(); + + /** + * Gets the decisions property: Collection of review decisions which the history data should be filtered on. For + * example if Approve and Deny are supplied the data will only contain review results in which the decision maker + * approved or denied a review request. + * + * @return the decisions value. + */ + List decisions(); + + /** + * Gets the status property: This read-only field specifies the of the requested review history data. This is either + * requested, in-progress, done or error. + * + * @return the status value. + */ + AccessReviewHistoryDefinitionStatus status(); + + /** + * Gets the createdDateTime property: Date time when history definition was created. + * + * @return the createdDateTime value. + */ + OffsetDateTime createdDateTime(); + + /** + * Gets the scopes property: A collection of scopes used when selecting review history data. + * + * @return the scopes value. + */ + List scopes(); + + /** + * Gets the instances property: Set of access review history instances for this history definition. + * + * @return the instances value. + */ + List instances(); + + /** + * Gets the principalId property: The identity id. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + AccessReviewActorIdentityType principalType(); + + /** + * Gets the principalName property: The identity display name. + * + * @return the principalName value. + */ + String principalName(); + + /** + * Gets the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the typePropertiesType property: The recurrence type : weekly, monthly, etc. + * + * @return the typePropertiesType value. + */ + AccessReviewRecurrencePatternType typePropertiesType(); + + /** + * Gets the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + Integer interval(); + + /** + * Gets the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + AccessReviewRecurrenceRangeType typeRangeType(); + + /** + * Gets the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + Integer numberOfOccurrences(); + + /** + * Gets the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + OffsetDateTime startDate(); + + /** + * Gets the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + OffsetDateTime endDate(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner + * object. + * + * @return the inner object. + */ + AccessReviewHistoryDefinitionInner innerModel(); + + /** The entirety of the AccessReviewHistoryDefinition definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCreate { + } + /** The AccessReviewHistoryDefinition definition stages. */ + interface DefinitionStages { + /** The first stage of the AccessReviewHistoryDefinition definition. */ + interface Blank extends WithCreate { + } + /** + * The stage of the AccessReviewHistoryDefinition 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.WithDisplayName, + DefinitionStages.WithDecisions, + DefinitionStages.WithScopes, + DefinitionStages.WithInstances, + DefinitionStages.WithType, + DefinitionStages.WithInterval, + DefinitionStages.WithTypeRangeType, + DefinitionStages.WithNumberOfOccurrences, + DefinitionStages.WithStartDate, + DefinitionStages.WithEndDate { + /** + * Executes the create request. + * + * @return the created resource. + */ + AccessReviewHistoryDefinition create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + AccessReviewHistoryDefinition create(Context context); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify displayName. */ + interface WithDisplayName { + /** + * Specifies the displayName property: The display name for the history definition.. + * + * @param displayName The display name for the history definition. + * @return the next definition stage. + */ + WithCreate withDisplayName(String displayName); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify decisions. */ + interface WithDecisions { + /** + * Specifies the decisions property: Collection of review decisions which the history data should be + * filtered on. For example if Approve and Deny are supplied the data will only contain review results in + * which the decision maker approved or denied a review request.. + * + * @param decisions Collection of review decisions which the history data should be filtered on. For example + * if Approve and Deny are supplied the data will only contain review results in which the decision + * maker approved or denied a review request. + * @return the next definition stage. + */ + WithCreate withDecisions(List decisions); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify scopes. */ + interface WithScopes { + /** + * Specifies the scopes property: A collection of scopes used when selecting review history data. + * + * @param scopes A collection of scopes used when selecting review history data. + * @return the next definition stage. + */ + WithCreate withScopes(List scopes); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify instances. */ + interface WithInstances { + /** + * Specifies the instances property: Set of access review history instances for this history definition.. + * + * @param instances Set of access review history instances for this history definition. + * @return the next definition stage. + */ + WithCreate withInstances(List instances); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify type. */ + interface WithType { + /** + * Specifies the type property: The recurrence type : weekly, monthly, etc.. + * + * @param type The recurrence type : weekly, monthly, etc. + * @return the next definition stage. + */ + WithCreate withType(AccessReviewRecurrencePatternType type); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify interval. */ + interface WithInterval { + /** + * Specifies the interval property: The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly.. + * + * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * @return the next definition stage. + */ + WithCreate withInterval(Integer interval); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify typeRangeType. */ + interface WithTypeRangeType { + /** + * Specifies the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, + * numbered.. + * + * @param typeRangeType The recurrence range type. The possible values are: endDate, noEnd, numbered. + * @return the next definition stage. + */ + WithCreate withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify numberOfOccurrences. */ + interface WithNumberOfOccurrences { + /** + * Specifies the numberOfOccurrences property: The number of times to repeat the access review. Required and + * must be positive if type is numbered.. + * + * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive + * if type is numbered. + * @return the next definition stage. + */ + WithCreate withNumberOfOccurrences(Integer numberOfOccurrences); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify startDate. */ + interface WithStartDate { + /** + * Specifies the startDate property: The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create.. + * + * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * @return the next definition stage. + */ + WithCreate withStartDate(OffsetDateTime startDate); + } + /** The stage of the AccessReviewHistoryDefinition definition allowing to specify endDate. */ + interface WithEndDate { + /** + * Specifies the endDate property: The DateTime when the review is scheduled to end. Required if type is + * endDate. + * + * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate. + * @return the next definition stage. + */ + WithCreate withEndDate(OffsetDateTime endDate); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstanceListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstanceListResult.java new file mode 100644 index 0000000000000..5f3d0e07711a9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstanceListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review History Instances. */ +@Fluent +public final class AccessReviewHistoryDefinitionInstanceListResult { + /* + * Access Review History Definition's Instance list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewHistoryDefinitionInstanceListResult class. */ + public AccessReviewHistoryDefinitionInstanceListResult() { + } + + /** + * Get the value property: Access Review History Definition's Instance list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review History Definition's Instance list. + * + * @param value the value value to set. + * @return the AccessReviewHistoryDefinitionInstanceListResult object itself. + */ + public AccessReviewHistoryDefinitionInstanceListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewHistoryDefinitionInstanceListResult object itself. + */ + public AccessReviewHistoryDefinitionInstanceListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstances.java new file mode 100644 index 0000000000000..5613c0e8ad3de --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstances.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewHistoryDefinitionInstances. */ +public interface AccessReviewHistoryDefinitionInstances { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + Response generateDownloadUriWithResponse( + String historyDefinitionId, String instanceId, Context context); + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + AccessReviewHistoryInstance generateDownloadUri(String historyDefinitionId, String instanceId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstancesOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstancesOperations.java new file mode 100644 index 0000000000000..0c43e986409b9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionInstancesOperations.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewHistoryDefinitionInstancesOperations. */ +public interface AccessReviewHistoryDefinitionInstancesOperations { + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String historyDefinitionId); + + /** + * Get access review history definition instances by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String historyDefinitionId, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionListResult.java new file mode 100644 index 0000000000000..0d3225e4456cd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review History Definitions. */ +@Fluent +public final class AccessReviewHistoryDefinitionListResult { + /* + * Access Review History Definition list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewHistoryDefinitionListResult class. */ + public AccessReviewHistoryDefinitionListResult() { + } + + /** + * Get the value property: Access Review History Definition list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review History Definition list. + * + * @param value the value value to set. + * @return the AccessReviewHistoryDefinitionListResult object itself. + */ + public AccessReviewHistoryDefinitionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewHistoryDefinitionListResult object itself. + */ + public AccessReviewHistoryDefinitionListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionOperations.java new file mode 100644 index 0000000000000..20af817db7443 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionOperations.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.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewHistoryDefinitionOperations. */ +public interface AccessReviewHistoryDefinitionOperations { + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 historyDefinitionId, Context context); + + /** + * Delete an access review history definition. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 historyDefinitionId); + + /** + * Begins definition for a new AccessReviewHistoryDefinition resource. + * + * @param name resource name. + * @return the first stage of the new AccessReviewHistoryDefinition definition. + */ + AccessReviewHistoryDefinition.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionStatus.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionStatus.java new file mode 100644 index 0000000000000..da06ea19832ec --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitionStatus.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done + * or error. + */ +public final class AccessReviewHistoryDefinitionStatus + extends ExpandableStringEnum { + /** Static value Requested for AccessReviewHistoryDefinitionStatus. */ + public static final AccessReviewHistoryDefinitionStatus REQUESTED = fromString("Requested"); + + /** Static value InProgress for AccessReviewHistoryDefinitionStatus. */ + public static final AccessReviewHistoryDefinitionStatus IN_PROGRESS = fromString("InProgress"); + + /** Static value Done for AccessReviewHistoryDefinitionStatus. */ + public static final AccessReviewHistoryDefinitionStatus DONE = fromString("Done"); + + /** Static value Error for AccessReviewHistoryDefinitionStatus. */ + public static final AccessReviewHistoryDefinitionStatus ERROR = fromString("Error"); + + /** + * Creates a new instance of AccessReviewHistoryDefinitionStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewHistoryDefinitionStatus() { + } + + /** + * Creates or finds a AccessReviewHistoryDefinitionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewHistoryDefinitionStatus. + */ + @JsonCreator + public static AccessReviewHistoryDefinitionStatus fromString(String name) { + return fromString(name, AccessReviewHistoryDefinitionStatus.class); + } + + /** + * Gets known AccessReviewHistoryDefinitionStatus values. + * + * @return known AccessReviewHistoryDefinitionStatus values. + */ + public static Collection values() { + return values(AccessReviewHistoryDefinitionStatus.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitions.java new file mode 100644 index 0000000000000..fff89c61103f7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryDefinitions.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 AccessReviewHistoryDefinitions. */ +public interface AccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + Response getByIdWithResponse(String historyDefinitionId, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + AccessReviewHistoryDefinition getById(String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryInstance.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryInstance.java new file mode 100644 index 0000000000000..61e237b195f85 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewHistoryInstance.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewHistoryInstance. */ +public interface AccessReviewHistoryInstance { + /** + * 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 reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews + * included in data start on or after this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodStartDateTime value. + */ + OffsetDateTime reviewHistoryPeriodStartDateTime(); + + /** + * Gets the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included + * in data end on or before this date. For use only with one-time/non-recurring reports. + * + * @return the reviewHistoryPeriodEndDateTime value. + */ + OffsetDateTime reviewHistoryPeriodEndDateTime(); + + /** + * Gets the displayName property: The display name for the parent history definition. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the status property: Status of the requested review history instance data. This is either requested, + * in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done -> + * Expired. + * + * @return the status value. + */ + AccessReviewHistoryDefinitionStatus status(); + + /** + * Gets the runDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the runDateTime value. + */ + OffsetDateTime runDateTime(); + + /** + * Gets the fulfilledDateTime property: Date time when the history data report is scheduled to be generated. + * + * @return the fulfilledDateTime value. + */ + OffsetDateTime fulfilledDateTime(); + + /** + * Gets the downloadUri property: Uri which can be used to retrieve review history data. To generate this Uri, + * generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after + * a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri. + * + * @return the downloadUri value. + */ + String downloadUri(); + + /** + * Gets the expiration property: Date time when history data report expires and the associated data is deleted. + * + * @return the expiration value. + */ + OffsetDateTime expiration(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner + * object. + * + * @return the inner object. + */ + AccessReviewHistoryInstanceInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java new file mode 100644 index 0000000000000..15ee90ce52900 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AccessReviewInstance. */ +public interface AccessReviewInstance { + /** + * 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 status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + AccessReviewInstanceStatus status(); + + /** + * Gets the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + List reviewers(); + + /** + * Gets the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + List backupReviewers(); + + /** + * Gets the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + AccessReviewInstanceReviewersType reviewersType(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner object. + * + * @return the inner object. + */ + AccessReviewInstanceInner innerModel(); + + /** The entirety of the AccessReviewInstance definition. */ + interface Definition + extends DefinitionStages.Blank, DefinitionStages.WithParentResource, DefinitionStages.WithCreate { + } + /** The AccessReviewInstance definition stages. */ + interface DefinitionStages { + /** The first stage of the AccessReviewInstance definition. */ + interface Blank extends WithParentResource { + } + /** The stage of the AccessReviewInstance definition allowing to specify parent resource. */ + interface WithParentResource { + /** + * Specifies scheduleDefinitionId. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @return the next definition stage. + */ + WithCreate withExistingAccessReviewScheduleDefinition(String scheduleDefinitionId); + } + /** + * The stage of the AccessReviewInstance 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.WithStartDateTime, + DefinitionStages.WithEndDateTime, + DefinitionStages.WithReviewers, + DefinitionStages.WithBackupReviewers { + /** + * Executes the create request. + * + * @return the created resource. + */ + AccessReviewInstance create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + AccessReviewInstance create(Context context); + } + /** The stage of the AccessReviewInstance definition allowing to specify startDateTime. */ + interface WithStartDateTime { + /** + * Specifies the startDateTime property: The DateTime when the review instance is scheduled to be start.. + * + * @param startDateTime The DateTime when the review instance is scheduled to be start. + * @return the next definition stage. + */ + WithCreate withStartDateTime(OffsetDateTime startDateTime); + } + /** The stage of the AccessReviewInstance definition allowing to specify endDateTime. */ + interface WithEndDateTime { + /** + * Specifies the endDateTime property: The DateTime when the review instance is scheduled to end.. + * + * @param endDateTime The DateTime when the review instance is scheduled to end. + * @return the next definition stage. + */ + WithCreate withEndDateTime(OffsetDateTime endDateTime); + } + /** The stage of the AccessReviewInstance definition allowing to specify reviewers. */ + interface WithReviewers { + /** + * Specifies the reviewers property: This is the collection of reviewers.. + * + * @param reviewers This is the collection of reviewers. + * @return the next definition stage. + */ + WithCreate withReviewers(List reviewers); + } + /** The stage of the AccessReviewInstance definition allowing to specify backupReviewers. */ + interface WithBackupReviewers { + /** + * Specifies the backupReviewers property: This is the collection of backup reviewers.. + * + * @param backupReviewers This is the collection of backup reviewers. + * @return the next definition stage. + */ + WithCreate withBackupReviewers(List backupReviewers); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + AccessReviewInstance refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + AccessReviewInstance refresh(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceContactedReviewers.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceContactedReviewers.java new file mode 100644 index 0000000000000..80a944224d7d2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceContactedReviewers.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstanceContactedReviewers. */ +public interface AccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java new file mode 100644 index 0000000000000..d8a236a4bc2f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstanceDecisions. */ +public interface AccessReviewInstanceDecisions { + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java new file mode 100644 index 0000000000000..f1cbe393cecdd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Instances. */ +@Fluent +public final class AccessReviewInstanceListResult { + /* + * Access Review Instance list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewInstanceListResult class. */ + public AccessReviewInstanceListResult() { + } + + /** + * Get the value property: Access Review Instance list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Instance list. + * + * @param value the value value to set. + * @return the AccessReviewInstanceListResult object itself. + */ + public AccessReviewInstanceListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewInstanceListResult object itself. + */ + public AccessReviewInstanceListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java new file mode 100644 index 0000000000000..35851ca0de422 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Resource collection API of AccessReviewInstanceMyDecisions. */ +public interface AccessReviewInstanceMyDecisions { + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 my access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, String filter, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision along with {@link Response}. + */ + Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @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 my single access review instance decision. + */ + AccessReviewDecision getById(String scheduleDefinitionId, String id, String decisionId); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review along with {@link Response}. + */ + Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @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 access Review. + */ + AccessReviewDecision patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java new file mode 100644 index 0000000000000..3bfd1de5c7027 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstanceOperations. */ +public interface AccessReviewInstanceOperations { + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scheduleDefinitionId, String id); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scheduleDefinitionId, String id); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scheduleDefinitionId, String id); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scheduleDefinitionId, String id); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 acceptRecommendations(String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceReviewersType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceReviewersType.java new file mode 100644 index 0000000000000..ba7c1b52dfa17 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceReviewersType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. + * However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers + * review or self review. + */ +public final class AccessReviewInstanceReviewersType extends ExpandableStringEnum { + /** Static value Assigned for AccessReviewInstanceReviewersType. */ + public static final AccessReviewInstanceReviewersType ASSIGNED = fromString("Assigned"); + + /** Static value Self for AccessReviewInstanceReviewersType. */ + public static final AccessReviewInstanceReviewersType SELF = fromString("Self"); + + /** Static value Managers for AccessReviewInstanceReviewersType. */ + public static final AccessReviewInstanceReviewersType MANAGERS = fromString("Managers"); + + /** + * Creates a new instance of AccessReviewInstanceReviewersType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewInstanceReviewersType() { + } + + /** + * Creates or finds a AccessReviewInstanceReviewersType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewInstanceReviewersType. + */ + @JsonCreator + public static AccessReviewInstanceReviewersType fromString(String name) { + return fromString(name, AccessReviewInstanceReviewersType.class); + } + + /** + * Gets known AccessReviewInstanceReviewersType values. + * + * @return known AccessReviewInstanceReviewersType values. + */ + public static Collection values() { + return values(AccessReviewInstanceReviewersType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java new file mode 100644 index 0000000000000..56a2b732b2025 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** This read-only field specifies the status of an access review instance. */ +public final class AccessReviewInstanceStatus extends ExpandableStringEnum { + /** Static value NotStarted for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus NOT_STARTED = fromString("NotStarted"); + + /** Static value InProgress for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus IN_PROGRESS = fromString("InProgress"); + + /** Static value Completed for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus COMPLETED = fromString("Completed"); + + /** Static value Applied for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus APPLIED = fromString("Applied"); + + /** Static value Initializing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus INITIALIZING = fromString("Initializing"); + + /** Static value Applying for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus APPLYING = fromString("Applying"); + + /** Static value Completing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus COMPLETING = fromString("Completing"); + + /** Static value Scheduled for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus SCHEDULED = fromString("Scheduled"); + + /** Static value AutoReviewing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus AUTO_REVIEWING = fromString("AutoReviewing"); + + /** Static value AutoReviewed for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus AUTO_REVIEWED = fromString("AutoReviewed"); + + /** Static value Starting for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus STARTING = fromString("Starting"); + + /** + * Creates a new instance of AccessReviewInstanceStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewInstanceStatus() { + } + + /** + * Creates or finds a AccessReviewInstanceStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewInstanceStatus. + */ + @JsonCreator + public static AccessReviewInstanceStatus fromString(String name) { + return fromString(name, AccessReviewInstanceStatus.class); + } + + /** + * Gets known AccessReviewInstanceStatus values. + * + * @return known AccessReviewInstanceStatus values. + */ + public static Collection values() { + return values(AccessReviewInstanceStatus.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java new file mode 100644 index 0000000000000..89b4c7776b43a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.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.authorization.generated.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 AccessReviewInstances. */ +public interface AccessReviewInstances { + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + AccessReviewInstance getById(String scheduleDefinitionId, String id); + + /** + * Begins definition for a new AccessReviewInstance resource. + * + * @param name resource name. + * @return the first stage of the new AccessReviewInstance definition. + */ + AccessReviewInstance.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java new file mode 100644 index 0000000000000..06e4d6f4bcaf0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 AccessReviewInstancesAssignedForMyApprovals. */ +public interface AccessReviewInstancesAssignedForMyApprovals { + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 single access review instance assigned for my approval. + */ + AccessReviewInstance getById(String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java new file mode 100644 index 0000000000000..06b52a3af4fd0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The recurrence type : weekly, monthly, etc. */ +public final class AccessReviewRecurrencePatternType extends ExpandableStringEnum { + /** Static value weekly for AccessReviewRecurrencePatternType. */ + public static final AccessReviewRecurrencePatternType WEEKLY = fromString("weekly"); + + /** Static value absoluteMonthly for AccessReviewRecurrencePatternType. */ + public static final AccessReviewRecurrencePatternType ABSOLUTE_MONTHLY = fromString("absoluteMonthly"); + + /** + * Creates a new instance of AccessReviewRecurrencePatternType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewRecurrencePatternType() { + } + + /** + * Creates or finds a AccessReviewRecurrencePatternType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewRecurrencePatternType. + */ + @JsonCreator + public static AccessReviewRecurrencePatternType fromString(String name) { + return fromString(name, AccessReviewRecurrencePatternType.class); + } + + /** + * Gets known AccessReviewRecurrencePatternType values. + * + * @return known AccessReviewRecurrencePatternType values. + */ + public static Collection values() { + return values(AccessReviewRecurrencePatternType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java new file mode 100644 index 0000000000000..2cdc7f7c76609 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ +public final class AccessReviewRecurrenceRangeType extends ExpandableStringEnum { + /** Static value endDate for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType END_DATE = fromString("endDate"); + + /** Static value noEnd for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType NO_END = fromString("noEnd"); + + /** Static value numbered for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType NUMBERED = fromString("numbered"); + + /** + * Creates a new instance of AccessReviewRecurrenceRangeType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewRecurrenceRangeType() { + } + + /** + * Creates or finds a AccessReviewRecurrenceRangeType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewRecurrenceRangeType. + */ + @JsonCreator + public static AccessReviewRecurrenceRangeType fromString(String name) { + return fromString(name, AccessReviewRecurrenceRangeType.class); + } + + /** + * Gets known AccessReviewRecurrenceRangeType values. + * + * @return known AccessReviewRecurrenceRangeType values. + */ + public static Collection values() { + return values(AccessReviewRecurrenceRangeType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java new file mode 100644 index 0000000000000..29bee33258b43 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Represents a reviewer's decision for a given review. */ +public final class AccessReviewResult extends ExpandableStringEnum { + /** Static value Approve for AccessReviewResult. */ + public static final AccessReviewResult APPROVE = fromString("Approve"); + + /** Static value Deny for AccessReviewResult. */ + public static final AccessReviewResult DENY = fromString("Deny"); + + /** Static value NotReviewed for AccessReviewResult. */ + public static final AccessReviewResult NOT_REVIEWED = fromString("NotReviewed"); + + /** Static value DontKnow for AccessReviewResult. */ + public static final AccessReviewResult DONT_KNOW = fromString("DontKnow"); + + /** Static value NotNotified for AccessReviewResult. */ + public static final AccessReviewResult NOT_NOTIFIED = fromString("NotNotified"); + + /** + * Creates a new instance of AccessReviewResult value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewResult() { + } + + /** + * Creates or finds a AccessReviewResult from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewResult. + */ + @JsonCreator + public static AccessReviewResult fromString(String name) { + return fromString(name, AccessReviewResult.class); + } + + /** + * Gets known AccessReviewResult values. + * + * @return known AccessReviewResult values. + */ + public static Collection values() { + return values(AccessReviewResult.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java new file mode 100644 index 0000000000000..2622e0d2dedc6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Descriptor for what needs to be reviewed. */ +@Fluent +public final class AccessReviewReviewer { + /* + * The id of the reviewer(user/servicePrincipal) + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The identity type : user/servicePrincipal + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewReviewerType principalType; + + /** Creates an instance of AccessReviewReviewer class. */ + public AccessReviewReviewer() { + } + + /** + * Get the principalId property: The id of the reviewer(user/servicePrincipal). + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The id of the reviewer(user/servicePrincipal). + * + * @param principalId the principalId value to set. + * @return the AccessReviewReviewer object itself. + */ + public AccessReviewReviewer withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewReviewerType principalType() { + return this.principalType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java new file mode 100644 index 0000000000000..c38f1278744a3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The identity type : user/servicePrincipal. */ +public final class AccessReviewReviewerType extends ExpandableStringEnum { + /** Static value user for AccessReviewReviewerType. */ + public static final AccessReviewReviewerType USER = fromString("user"); + + /** Static value servicePrincipal for AccessReviewReviewerType. */ + public static final AccessReviewReviewerType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates a new instance of AccessReviewReviewerType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewReviewerType() { + } + + /** + * Creates or finds a AccessReviewReviewerType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewReviewerType. + */ + @JsonCreator + public static AccessReviewReviewerType fromString(String name) { + return fromString(name, AccessReviewReviewerType.class); + } + + /** + * Gets known AccessReviewReviewerType values. + * + * @return known AccessReviewReviewerType values. + */ + public static Collection values() { + return values(AccessReviewReviewerType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java new file mode 100644 index 0000000000000..6b7c0da2f11d4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java @@ -0,0 +1,964 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AccessReviewScheduleDefinition. */ +public interface AccessReviewScheduleDefinition { + /** + * 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 displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + AccessReviewScheduleDefinitionStatus status(); + + /** + * Gets the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + String descriptionForAdmins(); + + /** + * Gets the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + String descriptionForReviewers(); + + /** + * Gets the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + List reviewers(); + + /** + * Gets the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + List backupReviewers(); + + /** + * Gets the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + AccessReviewScheduleDefinitionReviewersType reviewersType(); + + /** + * Gets the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + List instances(); + + /** + * Gets the principalId property: The identity id. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + AccessReviewActorIdentityType principalType(); + + /** + * Gets the principalName property: The identity display name. + * + * @return the principalName value. + */ + String principalName(); + + /** + * Gets the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + Boolean mailNotificationsEnabled(); + + /** + * Gets the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + Boolean reminderNotificationsEnabled(); + + /** + * Gets the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + Boolean defaultDecisionEnabled(); + + /** + * Gets the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + Boolean justificationRequiredOnApproval(); + + /** + * Gets the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + DefaultDecisionType defaultDecision(); + + /** + * Gets the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + Boolean autoApplyDecisionsEnabled(); + + /** + * Gets the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + Boolean recommendationsEnabled(); + + /** + * Gets the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking + * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers + * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows + * customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the recommendationLookBackDuration value. + */ + Duration recommendationLookBackDuration(); + + /** + * Gets the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + Integer instanceDurationInDays(); + + /** + * Gets the typePropertiesType property: The recurrence type : weekly, monthly, etc. + * + * @return the typePropertiesType value. + */ + AccessReviewRecurrencePatternType typePropertiesType(); + + /** + * Gets the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + Integer interval(); + + /** + * Gets the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + AccessReviewRecurrenceRangeType typeRangeType(); + + /** + * Gets the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + Integer numberOfOccurrences(); + + /** + * Gets the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + OffsetDateTime startDate(); + + /** + * Gets the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + OffsetDateTime endDate(); + + /** + * Gets the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + String resourceId(); + + /** + * Gets the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalTypeScopePrincipalType property: The identity type user/servicePrincipal to review. + * + * @return the principalTypeScopePrincipalType value. + */ + AccessReviewScopePrincipalType principalTypeScopePrincipalType(); + + /** + * Gets the assignmentState property: The role assignment state eligible/active to review. + * + * @return the assignmentState value. + */ + AccessReviewScopeAssignmentState assignmentState(); + + /** + * Gets the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the inactiveDuration value. + */ + Duration inactiveDuration(); + + /** + * Gets the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not. + * + * @return the expandNestedMemberships value. + */ + Boolean expandNestedMemberships(); + + /** + * Gets the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeInheritedAccess value. + */ + Boolean includeInheritedAccess(); + + /** + * Gets the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not. + * + * @return the includeAccessBelowResource value. + */ + Boolean includeAccessBelowResource(); + + /** + * Gets the excludeResourceId property: This is used to indicate the resource id(s) to exclude. + * + * @return the excludeResourceId value. + */ + String excludeResourceId(); + + /** + * Gets the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude. + * + * @return the excludeRoleDefinitionId value. + */ + String excludeRoleDefinitionId(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner object. + * + * @return the inner object. + */ + AccessReviewScheduleDefinitionInner innerModel(); + + /** The entirety of the AccessReviewScheduleDefinition definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCreate { + } + /** The AccessReviewScheduleDefinition definition stages. */ + interface DefinitionStages { + /** The first stage of the AccessReviewScheduleDefinition definition. */ + interface Blank extends WithCreate { + } + /** + * The stage of the AccessReviewScheduleDefinition 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.WithDisplayName, + DefinitionStages.WithDescriptionForAdmins, + DefinitionStages.WithDescriptionForReviewers, + DefinitionStages.WithReviewers, + DefinitionStages.WithBackupReviewers, + DefinitionStages.WithInstances, + DefinitionStages.WithMailNotificationsEnabled, + DefinitionStages.WithReminderNotificationsEnabled, + DefinitionStages.WithDefaultDecisionEnabled, + DefinitionStages.WithJustificationRequiredOnApproval, + DefinitionStages.WithDefaultDecision, + DefinitionStages.WithAutoApplyDecisionsEnabled, + DefinitionStages.WithRecommendationsEnabled, + DefinitionStages.WithRecommendationLookBackDuration, + DefinitionStages.WithInstanceDurationInDays, + DefinitionStages.WithType, + DefinitionStages.WithInterval, + DefinitionStages.WithTypeRangeType, + DefinitionStages.WithNumberOfOccurrences, + DefinitionStages.WithStartDate, + DefinitionStages.WithEndDate { + /** + * Executes the create request. + * + * @return the created resource. + */ + AccessReviewScheduleDefinition create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + AccessReviewScheduleDefinition create(Context context); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify displayName. */ + interface WithDisplayName { + /** + * Specifies the displayName property: The display name for the schedule definition.. + * + * @param displayName The display name for the schedule definition. + * @return the next definition stage. + */ + WithCreate withDisplayName(String displayName); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify descriptionForAdmins. */ + interface WithDescriptionForAdmins { + /** + * Specifies the descriptionForAdmins property: The description provided by the access review creator and + * visible to admins.. + * + * @param descriptionForAdmins The description provided by the access review creator and visible to admins. + * @return the next definition stage. + */ + WithCreate withDescriptionForAdmins(String descriptionForAdmins); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify descriptionForReviewers. */ + interface WithDescriptionForReviewers { + /** + * Specifies the descriptionForReviewers property: The description provided by the access review creator to + * be shown to reviewers.. + * + * @param descriptionForReviewers The description provided by the access review creator to be shown to + * reviewers. + * @return the next definition stage. + */ + WithCreate withDescriptionForReviewers(String descriptionForReviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify reviewers. */ + interface WithReviewers { + /** + * Specifies the reviewers property: This is the collection of reviewers.. + * + * @param reviewers This is the collection of reviewers. + * @return the next definition stage. + */ + WithCreate withReviewers(List reviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify backupReviewers. */ + interface WithBackupReviewers { + /** + * Specifies the backupReviewers property: This is the collection of backup reviewers.. + * + * @param backupReviewers This is the collection of backup reviewers. + * @return the next definition stage. + */ + WithCreate withBackupReviewers(List backupReviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify instances. */ + interface WithInstances { + /** + * Specifies the instances property: This is the collection of instances returned when one does an expand on + * it.. + * + * @param instances This is the collection of instances returned when one does an expand on it. + * @return the next definition stage. + */ + WithCreate withInstances(List instances); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify mailNotificationsEnabled. */ + interface WithMailNotificationsEnabled { + /** + * Specifies the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and + * the review creator is enabled.. + * + * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * @return the next definition stage. + */ + WithCreate withMailNotificationsEnabled(Boolean mailNotificationsEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition definition allowing to specify reminderNotificationsEnabled. + */ + interface WithReminderNotificationsEnabled { + /** + * Specifies the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to + * reviewers are enabled.. + * + * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * @return the next definition stage. + */ + WithCreate withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify defaultDecisionEnabled. */ + interface WithDefaultDecisionEnabled { + /** + * Specifies the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide + * a justification when reviewing access.. + * + * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification + * when reviewing access. + * @return the next definition stage. + */ + WithCreate withDefaultDecisionEnabled(Boolean defaultDecisionEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition definition allowing to specify + * justificationRequiredOnApproval. + */ + interface WithJustificationRequiredOnApproval { + /** + * Specifies the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required + * to pass justification when recording a decision.. + * + * @param justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * @return the next definition stage. + */ + WithCreate withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify defaultDecision. */ + interface WithDefaultDecision { + /** + * Specifies the defaultDecision property: This specifies the behavior for the autoReview feature when an + * access review completes.. + * + * @param defaultDecision This specifies the behavior for the autoReview feature when an access review + * completes. + * @return the next definition stage. + */ + WithCreate withDefaultDecision(DefaultDecisionType defaultDecision); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify autoApplyDecisionsEnabled. */ + interface WithAutoApplyDecisionsEnabled { + /** + * Specifies the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to + * automatically change the target object access resource, is enabled. If not enabled, a user must, after + * the review completes, apply the access review.. + * + * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change + * the target object access resource, is enabled. If not enabled, a user must, after the review + * completes, apply the access review. + * @return the next definition stage. + */ + WithCreate withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify recommendationsEnabled. */ + interface WithRecommendationsEnabled { + /** + * Specifies the recommendationsEnabled property: Flag to indicate whether showing recommendations to + * reviewers is enabled.. + * + * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled. + * @return the next definition stage. + */ + WithCreate withRecommendationsEnabled(Boolean recommendationsEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition definition allowing to specify + * recommendationLookBackDuration. + */ + interface WithRecommendationLookBackDuration { + /** + * Specifies the recommendationLookBackDuration property: Recommendations for access reviews are calculated + * by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some + * scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. + * instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid + * interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration Recommendations for access reviews are calculated by looking back + * at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, + * customers want to change how far back to look at and want to configure 60 days, 90 days, etc. + * instead. This setting allows customers to configure this duration. The value should be in ISO 8601 + * format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to + * a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * @return the next definition stage. + */ + WithCreate withRecommendationLookBackDuration(Duration recommendationLookBackDuration); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify instanceDurationInDays. */ + interface WithInstanceDurationInDays { + /** + * Specifies the instanceDurationInDays property: The duration in days for an instance.. + * + * @param instanceDurationInDays The duration in days for an instance. + * @return the next definition stage. + */ + WithCreate withInstanceDurationInDays(Integer instanceDurationInDays); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify type. */ + interface WithType { + /** + * Specifies the type property: The recurrence type : weekly, monthly, etc.. + * + * @param type The recurrence type : weekly, monthly, etc. + * @return the next definition stage. + */ + WithCreate withType(AccessReviewRecurrencePatternType type); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify interval. */ + interface WithInterval { + /** + * Specifies the interval property: The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly.. + * + * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * @return the next definition stage. + */ + WithCreate withInterval(Integer interval); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify typeRangeType. */ + interface WithTypeRangeType { + /** + * Specifies the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, + * numbered.. + * + * @param typeRangeType The recurrence range type. The possible values are: endDate, noEnd, numbered. + * @return the next definition stage. + */ + WithCreate withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify numberOfOccurrences. */ + interface WithNumberOfOccurrences { + /** + * Specifies the numberOfOccurrences property: The number of times to repeat the access review. Required and + * must be positive if type is numbered.. + * + * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive + * if type is numbered. + * @return the next definition stage. + */ + WithCreate withNumberOfOccurrences(Integer numberOfOccurrences); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify startDate. */ + interface WithStartDate { + /** + * Specifies the startDate property: The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create.. + * + * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * @return the next definition stage. + */ + WithCreate withStartDate(OffsetDateTime startDate); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify endDate. */ + interface WithEndDate { + /** + * Specifies the endDate property: The DateTime when the review is scheduled to end. Required if type is + * endDate. + * + * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate. + * @return the next definition stage. + */ + WithCreate withEndDate(OffsetDateTime endDate); + } + } + /** + * Begins update for the AccessReviewScheduleDefinition resource. + * + * @return the stage of resource update. + */ + AccessReviewScheduleDefinition.Update update(); + + /** The template for AccessReviewScheduleDefinition update. */ + interface Update + extends UpdateStages.WithDisplayName, + UpdateStages.WithDescriptionForAdmins, + UpdateStages.WithDescriptionForReviewers, + UpdateStages.WithReviewers, + UpdateStages.WithBackupReviewers, + UpdateStages.WithInstances, + UpdateStages.WithMailNotificationsEnabled, + UpdateStages.WithReminderNotificationsEnabled, + UpdateStages.WithDefaultDecisionEnabled, + UpdateStages.WithJustificationRequiredOnApproval, + UpdateStages.WithDefaultDecision, + UpdateStages.WithAutoApplyDecisionsEnabled, + UpdateStages.WithRecommendationsEnabled, + UpdateStages.WithRecommendationLookBackDuration, + UpdateStages.WithInstanceDurationInDays, + UpdateStages.WithType, + UpdateStages.WithInterval, + UpdateStages.WithTypeRangeType, + UpdateStages.WithNumberOfOccurrences, + UpdateStages.WithStartDate, + UpdateStages.WithEndDate { + /** + * Executes the update request. + * + * @return the updated resource. + */ + AccessReviewScheduleDefinition apply(); + + /** + * Executes the update request. + * + * @param context The context to associate with this operation. + * @return the updated resource. + */ + AccessReviewScheduleDefinition apply(Context context); + } + /** The AccessReviewScheduleDefinition update stages. */ + interface UpdateStages { + /** The stage of the AccessReviewScheduleDefinition update allowing to specify displayName. */ + interface WithDisplayName { + /** + * Specifies the displayName property: The display name for the schedule definition.. + * + * @param displayName The display name for the schedule definition. + * @return the next definition stage. + */ + Update withDisplayName(String displayName); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify descriptionForAdmins. */ + interface WithDescriptionForAdmins { + /** + * Specifies the descriptionForAdmins property: The description provided by the access review creator and + * visible to admins.. + * + * @param descriptionForAdmins The description provided by the access review creator and visible to admins. + * @return the next definition stage. + */ + Update withDescriptionForAdmins(String descriptionForAdmins); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify descriptionForReviewers. */ + interface WithDescriptionForReviewers { + /** + * Specifies the descriptionForReviewers property: The description provided by the access review creator to + * be shown to reviewers.. + * + * @param descriptionForReviewers The description provided by the access review creator to be shown to + * reviewers. + * @return the next definition stage. + */ + Update withDescriptionForReviewers(String descriptionForReviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify reviewers. */ + interface WithReviewers { + /** + * Specifies the reviewers property: This is the collection of reviewers.. + * + * @param reviewers This is the collection of reviewers. + * @return the next definition stage. + */ + Update withReviewers(List reviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify backupReviewers. */ + interface WithBackupReviewers { + /** + * Specifies the backupReviewers property: This is the collection of backup reviewers.. + * + * @param backupReviewers This is the collection of backup reviewers. + * @return the next definition stage. + */ + Update withBackupReviewers(List backupReviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify instances. */ + interface WithInstances { + /** + * Specifies the instances property: This is the collection of instances returned when one does an expand on + * it.. + * + * @param instances This is the collection of instances returned when one does an expand on it. + * @return the next definition stage. + */ + Update withInstances(List instances); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify mailNotificationsEnabled. */ + interface WithMailNotificationsEnabled { + /** + * Specifies the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and + * the review creator is enabled.. + * + * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * @return the next definition stage. + */ + Update withMailNotificationsEnabled(Boolean mailNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify reminderNotificationsEnabled. */ + interface WithReminderNotificationsEnabled { + /** + * Specifies the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to + * reviewers are enabled.. + * + * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * @return the next definition stage. + */ + Update withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify defaultDecisionEnabled. */ + interface WithDefaultDecisionEnabled { + /** + * Specifies the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide + * a justification when reviewing access.. + * + * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification + * when reviewing access. + * @return the next definition stage. + */ + Update withDefaultDecisionEnabled(Boolean defaultDecisionEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition update allowing to specify justificationRequiredOnApproval. + */ + interface WithJustificationRequiredOnApproval { + /** + * Specifies the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required + * to pass justification when recording a decision.. + * + * @param justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * @return the next definition stage. + */ + Update withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify defaultDecision. */ + interface WithDefaultDecision { + /** + * Specifies the defaultDecision property: This specifies the behavior for the autoReview feature when an + * access review completes.. + * + * @param defaultDecision This specifies the behavior for the autoReview feature when an access review + * completes. + * @return the next definition stage. + */ + Update withDefaultDecision(DefaultDecisionType defaultDecision); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify autoApplyDecisionsEnabled. */ + interface WithAutoApplyDecisionsEnabled { + /** + * Specifies the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to + * automatically change the target object access resource, is enabled. If not enabled, a user must, after + * the review completes, apply the access review.. + * + * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change + * the target object access resource, is enabled. If not enabled, a user must, after the review + * completes, apply the access review. + * @return the next definition stage. + */ + Update withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify recommendationsEnabled. */ + interface WithRecommendationsEnabled { + /** + * Specifies the recommendationsEnabled property: Flag to indicate whether showing recommendations to + * reviewers is enabled.. + * + * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled. + * @return the next definition stage. + */ + Update withRecommendationsEnabled(Boolean recommendationsEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition update allowing to specify recommendationLookBackDuration. + */ + interface WithRecommendationLookBackDuration { + /** + * Specifies the recommendationLookBackDuration property: Recommendations for access reviews are calculated + * by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some + * scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. + * instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid + * interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @param recommendationLookBackDuration Recommendations for access reviews are calculated by looking back + * at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, + * customers want to change how far back to look at and want to configure 60 days, 90 days, etc. + * instead. This setting allows customers to configure this duration. The value should be in ISO 8601 + * format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to + * a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * @return the next definition stage. + */ + Update withRecommendationLookBackDuration(Duration recommendationLookBackDuration); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify instanceDurationInDays. */ + interface WithInstanceDurationInDays { + /** + * Specifies the instanceDurationInDays property: The duration in days for an instance.. + * + * @param instanceDurationInDays The duration in days for an instance. + * @return the next definition stage. + */ + Update withInstanceDurationInDays(Integer instanceDurationInDays); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify type. */ + interface WithType { + /** + * Specifies the type property: The recurrence type : weekly, monthly, etc.. + * + * @param type The recurrence type : weekly, monthly, etc. + * @return the next definition stage. + */ + Update withType(AccessReviewRecurrencePatternType type); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify interval. */ + interface WithInterval { + /** + * Specifies the interval property: The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly.. + * + * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * @return the next definition stage. + */ + Update withInterval(Integer interval); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify typeRangeType. */ + interface WithTypeRangeType { + /** + * Specifies the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, + * numbered.. + * + * @param typeRangeType The recurrence range type. The possible values are: endDate, noEnd, numbered. + * @return the next definition stage. + */ + Update withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify numberOfOccurrences. */ + interface WithNumberOfOccurrences { + /** + * Specifies the numberOfOccurrences property: The number of times to repeat the access review. Required and + * must be positive if type is numbered.. + * + * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive + * if type is numbered. + * @return the next definition stage. + */ + Update withNumberOfOccurrences(Integer numberOfOccurrences); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify startDate. */ + interface WithStartDate { + /** + * Specifies the startDate property: The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create.. + * + * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * @return the next definition stage. + */ + Update withStartDate(OffsetDateTime startDate); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify endDate. */ + interface WithEndDate { + /** + * Specifies the endDate property: The DateTime when the review is scheduled to end. Required if type is + * endDate. + * + * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate. + * @return the next definition stage. + */ + Update withEndDate(OffsetDateTime endDate); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + AccessReviewScheduleDefinition refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + AccessReviewScheduleDefinition refresh(Context context); + + /** + * Stop access review definition. + * + * @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 stopWithResponse(Context context); + + /** + * Stop access review definition. + * + * @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 stop(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java new file mode 100644 index 0000000000000..51d0bec90e912 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Schedule Definitions. */ +@Fluent +public final class AccessReviewScheduleDefinitionListResult { + /* + * Access Review Schedule Definition list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AccessReviewScheduleDefinitionListResult class. */ + public AccessReviewScheduleDefinitionListResult() { + } + + /** + * Get the value property: Access Review Schedule Definition list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Schedule Definition list. + * + * @param value the value value to set. + * @return the AccessReviewScheduleDefinitionListResult object itself. + */ + public AccessReviewScheduleDefinitionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewScheduleDefinitionListResult object itself. + */ + public AccessReviewScheduleDefinitionListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java new file mode 100644 index 0000000000000..66bea6cfc1d4e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** + * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. + * However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers + * review or self review. + */ +public final class AccessReviewScheduleDefinitionReviewersType + extends ExpandableStringEnum { + /** Static value Assigned for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType ASSIGNED = fromString("Assigned"); + + /** Static value Self for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType SELF = fromString("Self"); + + /** Static value Managers for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType MANAGERS = fromString("Managers"); + + /** + * Creates a new instance of AccessReviewScheduleDefinitionReviewersType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewScheduleDefinitionReviewersType() { + } + + /** + * Creates or finds a AccessReviewScheduleDefinitionReviewersType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScheduleDefinitionReviewersType. + */ + @JsonCreator + public static AccessReviewScheduleDefinitionReviewersType fromString(String name) { + return fromString(name, AccessReviewScheduleDefinitionReviewersType.class); + } + + /** + * Gets known AccessReviewScheduleDefinitionReviewersType values. + * + * @return known AccessReviewScheduleDefinitionReviewersType values. + */ + public static Collection values() { + return values(AccessReviewScheduleDefinitionReviewersType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java new file mode 100644 index 0000000000000..d7387350dca30 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** This read-only field specifies the status of an accessReview. */ +public final class AccessReviewScheduleDefinitionStatus + extends ExpandableStringEnum { + /** Static value NotStarted for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus NOT_STARTED = fromString("NotStarted"); + + /** Static value InProgress for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus IN_PROGRESS = fromString("InProgress"); + + /** Static value Completed for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus COMPLETED = fromString("Completed"); + + /** Static value Applied for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus APPLIED = fromString("Applied"); + + /** Static value Initializing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus INITIALIZING = fromString("Initializing"); + + /** Static value Applying for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus APPLYING = fromString("Applying"); + + /** Static value Completing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus COMPLETING = fromString("Completing"); + + /** Static value Scheduled for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus SCHEDULED = fromString("Scheduled"); + + /** Static value AutoReviewing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus AUTO_REVIEWING = fromString("AutoReviewing"); + + /** Static value AutoReviewed for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus AUTO_REVIEWED = fromString("AutoReviewed"); + + /** Static value Starting for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus STARTING = fromString("Starting"); + + /** + * Creates a new instance of AccessReviewScheduleDefinitionStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewScheduleDefinitionStatus() { + } + + /** + * Creates or finds a AccessReviewScheduleDefinitionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScheduleDefinitionStatus. + */ + @JsonCreator + public static AccessReviewScheduleDefinitionStatus fromString(String name) { + return fromString(name, AccessReviewScheduleDefinitionStatus.class); + } + + /** + * Gets known AccessReviewScheduleDefinitionStatus values. + * + * @return known AccessReviewScheduleDefinitionStatus values. + */ + public static Collection values() { + return values(AccessReviewScheduleDefinitionStatus.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java new file mode 100644 index 0000000000000..5843844269bcd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 AccessReviewScheduleDefinitions. */ +public interface AccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions. + * + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + AccessReviewScheduleDefinition getById(String scheduleDefinitionId); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 scheduleDefinitionId, Context context); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 scheduleDefinitionId); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scheduleDefinitionId, Context context); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scheduleDefinitionId); + + /** + * Begins definition for a new AccessReviewScheduleDefinition resource. + * + * @param name resource name. + * @return the first stage of the new AccessReviewScheduleDefinition definition. + */ + AccessReviewScheduleDefinition.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java new file mode 100644 index 0000000000000..f79fe8ba36e39 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. */ +public interface AccessReviewScheduleDefinitionsAssignedForMyApprovals { + /** + * Get access review instances assigned for my approval. + * + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java new file mode 100644 index 0000000000000..70a6447722ca7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The role assignment state eligible/active to review. */ +public final class AccessReviewScopeAssignmentState extends ExpandableStringEnum { + /** Static value eligible for AccessReviewScopeAssignmentState. */ + public static final AccessReviewScopeAssignmentState ELIGIBLE = fromString("eligible"); + + /** Static value active for AccessReviewScopeAssignmentState. */ + public static final AccessReviewScopeAssignmentState ACTIVE = fromString("active"); + + /** + * Creates a new instance of AccessReviewScopeAssignmentState value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewScopeAssignmentState() { + } + + /** + * Creates or finds a AccessReviewScopeAssignmentState from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScopeAssignmentState. + */ + @JsonCreator + public static AccessReviewScopeAssignmentState fromString(String name) { + return fromString(name, AccessReviewScopeAssignmentState.class); + } + + /** + * Gets known AccessReviewScopeAssignmentState values. + * + * @return known AccessReviewScopeAssignmentState values. + */ + public static Collection values() { + return values(AccessReviewScopeAssignmentState.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java new file mode 100644 index 0000000000000..a95e1cf2b6eb6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The identity type user/servicePrincipal to review. */ +public final class AccessReviewScopePrincipalType extends ExpandableStringEnum { + /** Static value user for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType USER = fromString("user"); + + /** Static value guestUser for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType GUEST_USER = fromString("guestUser"); + + /** Static value servicePrincipal for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** Static value user,group for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType USER_GROUP = fromString("user,group"); + + /** Static value redeemedGuestUser for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType REDEEMED_GUEST_USER = fromString("redeemedGuestUser"); + + /** + * Creates a new instance of AccessReviewScopePrincipalType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public AccessReviewScopePrincipalType() { + } + + /** + * Creates or finds a AccessReviewScopePrincipalType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScopePrincipalType. + */ + @JsonCreator + public static AccessReviewScopePrincipalType fromString(String name) { + return fromString(name, AccessReviewScopePrincipalType.class); + } + + /** + * Gets known AccessReviewScopePrincipalType values. + * + * @return known AccessReviewScopePrincipalType values. + */ + public static Collection values() { + return values(AccessReviewScopePrincipalType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alert.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alert.java new file mode 100644 index 0000000000000..96cf22c75b183 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alert.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of Alert. */ +public interface Alert { + /** + * Gets the id property: The alert ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The alert name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The alert type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The alert scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the isActive property: False by default; true if the alert is active. + * + * @return the isActive value. + */ + Boolean isActive(); + + /** + * Gets the incidentCount property: The number of generated incidents of the alert. + * + * @return the incidentCount value. + */ + Integer incidentCount(); + + /** + * Gets the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents + * were generated. + * + * @return the lastModifiedDateTime value. + */ + OffsetDateTime lastModifiedDateTime(); + + /** + * Gets the lastScannedDateTime property: The date time when the alert was last scanned. + * + * @return the lastScannedDateTime value. + */ + OffsetDateTime lastScannedDateTime(); + + /** + * Gets the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + AlertDefinition alertDefinition(); + + /** + * Gets the alertIncidents property: The alert incidents. + * + * @return the alertIncidents value. + */ + List alertIncidents(); + + /** + * Gets the alertConfiguration property: The alert configuration. + * + * @return the alertConfiguration value. + */ + AlertConfiguration alertConfiguration(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner object. + * + * @return the inner object. + */ + AlertInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfiguration.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfiguration.java new file mode 100644 index 0000000000000..1f758eb6760e3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfiguration.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; + +/** An immutable client-side representation of AlertConfiguration. */ +public interface AlertConfiguration { + /** + * Gets the id property: The alert configuration ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The alert configuration name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The alert configuration type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the properties property: Alert configuration properties. + * + * @return the properties value. + */ + AlertConfigurationProperties properties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner object. + * + * @return the inner object. + */ + AlertConfigurationInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationListResult.java new file mode 100644 index 0000000000000..00a748ade71ad --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Alert configuration list operation result. */ +@Fluent +public final class AlertConfigurationListResult { + /* + * Alert configuration list + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AlertConfigurationListResult class. */ + public AlertConfigurationListResult() { + } + + /** + * Get the value property: Alert configuration list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Alert configuration list. + * + * @param value the value value to set. + * @return the AlertConfigurationListResult object itself. + */ + public AlertConfigurationListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AlertConfigurationListResult object itself. + */ + public AlertConfigurationListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationProperties.java new file mode 100644 index 0000000000000..9e574cb1ad9a6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurationProperties.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.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; + +/** An immutable client-side representation of AlertConfigurationProperties. */ +public interface AlertConfigurationProperties { + /** + * Gets the alertDefinitionId property: The alert definition ID. + * + * @return the alertDefinitionId value. + */ + String alertDefinitionId(); + + /** + * Gets the scope property: The alert scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the isEnabled property: True if the alert is enabled, false will disable the scanning for the specific + * alert. + * + * @return the isEnabled value. + */ + Boolean isEnabled(); + + /** + * Gets the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + AlertDefinition alertDefinition(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner + * object. + * + * @return the inner object. + */ + AlertConfigurationPropertiesInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurations.java new file mode 100644 index 0000000000000..a516a4cc24e07 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertConfigurations.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; + +/** Resource collection API of AlertConfigurations. */ +public interface AlertConfigurations { + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration along with {@link Response}. + */ + Response getWithResponse(String scope, String alertId, Context context); + + /** + * Get the specified alert configuration. + * + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @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 specified alert configuration. + */ + AlertConfiguration get(String scope, String alertId); + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 updateWithResponse( + String scope, String alertId, AlertConfigurationInner parameters, Context context); + + /** + * Update an alert configuration. + * + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @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 update(String scope, String alertId, AlertConfigurationInner parameters); + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets alert configurations for a resource scope. + * + * @param scope The scope of the alert configuration. + * @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 alert configurations for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinition.java new file mode 100644 index 0000000000000..0a23d1634a66f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinition.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; + +/** An immutable client-side representation of AlertDefinition. */ +public interface AlertDefinition { + /** + * Gets the id property: The alert definition ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The alert definition name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The alert definition type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the displayName property: The alert display name. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the scope property: The alert scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the description property: The alert description. + * + * @return the description value. + */ + String description(); + + /** + * Gets the severityLevel property: Severity level of the alert. + * + * @return the severityLevel value. + */ + SeverityLevel severityLevel(); + + /** + * Gets the securityImpact property: Security impact of the alert. + * + * @return the securityImpact value. + */ + String securityImpact(); + + /** + * Gets the mitigationSteps property: The methods to mitigate the alert. + * + * @return the mitigationSteps value. + */ + String mitigationSteps(); + + /** + * Gets the howToPrevent property: The ways to prevent the alert. + * + * @return the howToPrevent value. + */ + String howToPrevent(); + + /** + * Gets the isRemediatable property: True if the alert can be remediated; false, otherwise. + * + * @return the isRemediatable value. + */ + Boolean isRemediatable(); + + /** + * Gets the isConfigurable property: True if the alert configuration can be configured; false, otherwise. + * + * @return the isConfigurable value. + */ + Boolean isConfigurable(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner object. + * + * @return the inner object. + */ + AlertDefinitionInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitionListResult.java new file mode 100644 index 0000000000000..8d6bd6534c13d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitionListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Alert definition list operation result. */ +@Fluent +public final class AlertDefinitionListResult { + /* + * Alert definition list + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AlertDefinitionListResult class. */ + public AlertDefinitionListResult() { + } + + /** + * Get the value property: Alert definition list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Alert definition list. + * + * @param value the value value to set. + * @return the AlertDefinitionListResult object itself. + */ + public AlertDefinitionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AlertDefinitionListResult object itself. + */ + public AlertDefinitionListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitions.java new file mode 100644 index 0000000000000..27299576ea69c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertDefinitions.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 AlertDefinitions. */ +public interface AlertDefinitions { + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition along with {@link Response}. + */ + Response getWithResponse(String scope, String alertDefinitionId, Context context); + + /** + * Get the specified alert definition. + * + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @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 specified alert definition. + */ + AlertDefinition get(String scope, String alertDefinitionId); + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets alert definitions for a resource scope. + * + * @param scope The scope of the alert definition. + * @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 alert definitions for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncident.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncident.java new file mode 100644 index 0000000000000..6ae7259efc91e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncident.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; + +/** An immutable client-side representation of AlertIncident. */ +public interface AlertIncident { + /** + * Gets the id property: The alert incident ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The alert incident name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The alert incident type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the properties property: Alert incident properties. + * + * @return the properties value. + */ + AlertIncidentProperties properties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner object. + * + * @return the inner object. + */ + AlertIncidentInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentListResult.java new file mode 100644 index 0000000000000..82cc13724429a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Alert incident list operation result. */ +@Fluent +public final class AlertIncidentListResult { + /* + * Alert incident list + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AlertIncidentListResult class. */ + public AlertIncidentListResult() { + } + + /** + * Get the value property: Alert incident list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Alert incident list. + * + * @param value the value value to set. + * @return the AlertIncidentListResult object itself. + */ + public AlertIncidentListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AlertIncidentListResult object itself. + */ + public AlertIncidentListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentProperties.java new file mode 100644 index 0000000000000..4ba6fad64c010 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidentProperties.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.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Alert incident properties. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "alertIncidentType", + defaultImpl = AlertIncidentProperties.class) +@JsonTypeName("AlertIncidentProperties") +@JsonSubTypes({ + @JsonSubTypes.Type( + name = "AzureRolesAssignedOutsidePimAlertIncident", + value = AzureRolesAssignedOutsidePimAlertIncidentProperties.class), + @JsonSubTypes.Type( + name = "DuplicateRoleCreatedAlertIncident", + value = DuplicateRoleCreatedAlertIncidentProperties.class), + @JsonSubTypes.Type( + name = "TooManyOwnersAssignedToResourceAlertIncident", + value = TooManyOwnersAssignedToResourceAlertIncidentProperties.class), + @JsonSubTypes.Type( + name = "TooManyPermanentOwnersAssignedToResourceAlertIncident", + value = TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties.class) +}) +@Immutable +public class AlertIncidentProperties { + /** Creates an instance of AlertIncidentProperties class. */ + public AlertIncidentProperties() { + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidents.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidents.java new file mode 100644 index 0000000000000..0d97e6d5ee0c0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertIncidents.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.authorization.generated.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 AlertIncidents. */ +public interface AlertIncidents { + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident along with {@link Response}. + */ + Response getWithResponse(String scope, String alertId, String alertIncidentId, Context context); + + /** + * Get the specified alert incident. + * + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @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 specified alert incident. + */ + AlertIncident get(String scope, String alertId, String alertIncidentId); + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String alertId); + + /** + * Gets alert incidents for a resource scope. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @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 alert incidents for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String alertId, Context context); + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediateWithResponse(String scope, String alertId, String alertIncidentId, Context context); + + /** + * Remediate an alert incident. + * + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @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 remediate(String scope, String alertId, String alertIncidentId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertListResult.java new file mode 100644 index 0000000000000..8177647d081a6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Alert list operation result. */ +@Fluent +public final class AlertListResult { + /* + * Alert list + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of AlertListResult class. */ + public AlertListResult() { + } + + /** + * Get the value property: Alert list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Alert list. + * + * @param value the value value to set. + * @return the AlertListResult object itself. + */ + public AlertListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AlertListResult object itself. + */ + public AlertListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperationResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperationResult.java new file mode 100644 index 0000000000000..4d2120145bd9f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperationResult.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AlertOperationResult. */ +public interface AlertOperationResult { + /** + * Gets the id property: The id of the alert operation. + * + * @return the id value. + */ + String id(); + + /** + * Gets the status property: The status of the alert operation. + * + * @return the status value. + */ + String status(); + + /** + * Gets the statusDetail property: The status detail of the alert operation. + * + * @return the statusDetail value. + */ + String statusDetail(); + + /** + * Gets the createdDateTime property: The created date of the alert operation. + * + * @return the createdDateTime value. + */ + OffsetDateTime createdDateTime(); + + /** + * Gets the lastActionDateTime property: The last action date of the alert operation. + * + * @return the lastActionDateTime value. + */ + OffsetDateTime lastActionDateTime(); + + /** + * Gets the resourceLocation property: The location of the alert associated with the operation. + * + * @return the resourceLocation value. + */ + String resourceLocation(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner object. + * + * @return the inner object. + */ + AlertOperationResultInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperations.java new file mode 100644 index 0000000000000..02d92652c19d5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertOperations.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AlertOperations. */ +public interface AlertOperations { + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @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 specified alert operation along with {@link Response}. + */ + Response getWithResponse(String scope, String operationId, Context context); + + /** + * Get the specified alert operation. + * + * @param scope The scope of the alert operation. + * @param operationId The id of the alert 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 specified alert operation. + */ + AlertOperationResult get(String scope, String operationId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertProperties.java new file mode 100644 index 0000000000000..ac0b995202cc6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AlertProperties.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.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertPropertiesInner; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AlertProperties. */ +public interface AlertProperties { + /** + * Gets the scope property: The alert scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the isActive property: False by default; true if the alert is active. + * + * @return the isActive value. + */ + Boolean isActive(); + + /** + * Gets the incidentCount property: The number of generated incidents of the alert. + * + * @return the incidentCount value. + */ + Integer incidentCount(); + + /** + * Gets the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents + * were generated. + * + * @return the lastModifiedDateTime value. + */ + OffsetDateTime lastModifiedDateTime(); + + /** + * Gets the lastScannedDateTime property: The date time when the alert was last scanned. + * + * @return the lastScannedDateTime value. + */ + OffsetDateTime lastScannedDateTime(); + + /** + * Gets the alertDefinition property: The alert definition. + * + * @return the alertDefinition value. + */ + AlertDefinition alertDefinition(); + + /** + * Gets the alertIncidents property: The alert incidents. + * + * @return the alertIncidents value. + */ + List alertIncidents(); + + /** + * Gets the alertConfiguration property: The alert configuration. + * + * @return the alertConfiguration value. + */ + AlertConfiguration alertConfiguration(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AlertPropertiesInner object. + * + * @return the inner object. + */ + AlertPropertiesInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alerts.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alerts.java new file mode 100644 index 0000000000000..a198bed8c0b8c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Alerts.java @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; + +/** Resource collection API of Alerts. */ +public interface Alerts { + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert along with {@link Response}. + */ + Response getWithResponse(String scope, String alertId, Context context); + + /** + * Get the specified alert. + * + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @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 specified alert. + */ + Alert get(String scope, String alertId); + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 updateWithResponse(String scope, String alertId, AlertInner parameters, Context context); + + /** + * Update an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @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 update(String scope, String alertId, AlertInner parameters); + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alerts for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, Context context); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + AlertOperationResult refresh(String scope, String alertId); + + /** + * Refresh an alert. + * + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @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 alert operation result. + */ + AlertOperationResult refresh(String scope, String alertId, Context context); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + AlertOperationResult refreshAll(String scope); + + /** + * Refresh all alerts for a resource scope. + * + * @param scope The scope of the alert. + * @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 alert operation result. + */ + AlertOperationResult refreshAll(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertConfigurationProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertConfigurationProperties.java new file mode 100644 index 0000000000000..198248257efe3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertConfigurationProperties.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The Azure roles assigned outside PIM alert configuration properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertConfigurationType") +@JsonTypeName("AzureRolesAssignedOutsidePimAlertConfiguration") +@Fluent +public final class AzureRolesAssignedOutsidePimAlertConfigurationProperties extends AlertConfigurationPropertiesInner { + /** Creates an instance of AzureRolesAssignedOutsidePimAlertConfigurationProperties class. */ + public AzureRolesAssignedOutsidePimAlertConfigurationProperties() { + } + + /** {@inheritDoc} */ + @Override + public AzureRolesAssignedOutsidePimAlertConfigurationProperties withIsEnabled(Boolean isEnabled) { + super.withIsEnabled(isEnabled); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertIncidentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertIncidentProperties.java new file mode 100644 index 0000000000000..ccb5e4f14e517 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AzureRolesAssignedOutsidePimAlertIncidentProperties.java @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.time.OffsetDateTime; + +/** Azure roles assigned outside PIM alert incident properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertIncidentType") +@JsonTypeName("AzureRolesAssignedOutsidePimAlertIncident") +@Immutable +public final class AzureRolesAssignedOutsidePimAlertIncidentProperties extends AlertIncidentProperties { + /* + * The assignee display name. + */ + @JsonProperty(value = "assigneeDisplayName", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeDisplayName; + + /* + * The assignee user principal name. + */ + @JsonProperty(value = "assigneeUserPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeUserPrincipalName; + + /* + * The assignee ID. + */ + @JsonProperty(value = "assigneeId", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeId; + + /* + * The role display name. + */ + @JsonProperty(value = "roleDisplayName", access = JsonProperty.Access.WRITE_ONLY) + private String roleDisplayName; + + /* + * The role template ID. + */ + @JsonProperty(value = "roleTemplateId", access = JsonProperty.Access.WRITE_ONLY) + private String roleTemplateId; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String roleDefinitionId; + + /* + * The date the assignment was activated. + */ + @JsonProperty(value = "assignmentActivatedDate", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime assignmentActivatedDate; + + /* + * The requestor ID. + */ + @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY) + private String requestorId; + + /* + * The requestor display name. + */ + @JsonProperty(value = "requestorDisplayName", access = JsonProperty.Access.WRITE_ONLY) + private String requestorDisplayName; + + /* + * The requestor user principal name. + */ + @JsonProperty(value = "requestorUserPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String requestorUserPrincipalName; + + /** Creates an instance of AzureRolesAssignedOutsidePimAlertIncidentProperties class. */ + public AzureRolesAssignedOutsidePimAlertIncidentProperties() { + } + + /** + * Get the assigneeDisplayName property: The assignee display name. + * + * @return the assigneeDisplayName value. + */ + public String assigneeDisplayName() { + return this.assigneeDisplayName; + } + + /** + * Get the assigneeUserPrincipalName property: The assignee user principal name. + * + * @return the assigneeUserPrincipalName value. + */ + public String assigneeUserPrincipalName() { + return this.assigneeUserPrincipalName; + } + + /** + * Get the assigneeId property: The assignee ID. + * + * @return the assigneeId value. + */ + public String assigneeId() { + return this.assigneeId; + } + + /** + * Get the roleDisplayName property: The role display name. + * + * @return the roleDisplayName value. + */ + public String roleDisplayName() { + return this.roleDisplayName; + } + + /** + * Get the roleTemplateId property: The role template ID. + * + * @return the roleTemplateId value. + */ + public String roleTemplateId() { + return this.roleTemplateId; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Get the assignmentActivatedDate property: The date the assignment was activated. + * + * @return the assignmentActivatedDate value. + */ + public OffsetDateTime assignmentActivatedDate() { + return this.assignmentActivatedDate; + } + + /** + * Get the requestorId property: The requestor ID. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.requestorId; + } + + /** + * Get the requestorDisplayName property: The requestor display name. + * + * @return the requestorDisplayName value. + */ + public String requestorDisplayName() { + return this.requestorDisplayName; + } + + /** + * Get the requestorUserPrincipalName property: The requestor user principal name. + * + * @return the requestorUserPrincipalName value. + */ + public String requestorUserPrincipalName() { + return this.requestorUserPrincipalName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java new file mode 100644 index 0000000000000..e3522e6b90072 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The type of resource. */ +public final class DecisionResourceType extends ExpandableStringEnum { + /** Static value azureRole for DecisionResourceType. */ + public static final DecisionResourceType AZURE_ROLE = fromString("azureRole"); + + /** + * Creates a new instance of DecisionResourceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public DecisionResourceType() { + } + + /** + * Creates or finds a DecisionResourceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DecisionResourceType. + */ + @JsonCreator + public static DecisionResourceType fromString(String name) { + return fromString(name, DecisionResourceType.class); + } + + /** + * Gets known DecisionResourceType values. + * + * @return known DecisionResourceType values. + */ + public static Collection values() { + return values(DecisionResourceType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java new file mode 100644 index 0000000000000..0521ab8c9b148 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The type of decision target : User/ServicePrincipal. */ +public final class DecisionTargetType extends ExpandableStringEnum { + /** Static value user for DecisionTargetType. */ + public static final DecisionTargetType USER = fromString("user"); + + /** Static value servicePrincipal for DecisionTargetType. */ + public static final DecisionTargetType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates a new instance of DecisionTargetType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public DecisionTargetType() { + } + + /** + * Creates or finds a DecisionTargetType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DecisionTargetType. + */ + @JsonCreator + public static DecisionTargetType fromString(String name) { + return fromString(name, DecisionTargetType.class); + } + + /** + * Gets known DecisionTargetType values. + * + * @return known DecisionTargetType values. + */ + public static Collection values() { + return values(DecisionTargetType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java new file mode 100644 index 0000000000000..a0d3178ebf74e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** This specifies the behavior for the autoReview feature when an access review completes. */ +public final class DefaultDecisionType extends ExpandableStringEnum { + /** Static value Approve for DefaultDecisionType. */ + public static final DefaultDecisionType APPROVE = fromString("Approve"); + + /** Static value Deny for DefaultDecisionType. */ + public static final DefaultDecisionType DENY = fromString("Deny"); + + /** Static value Recommendation for DefaultDecisionType. */ + public static final DefaultDecisionType RECOMMENDATION = fromString("Recommendation"); + + /** + * Creates a new instance of DefaultDecisionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public DefaultDecisionType() { + } + + /** + * Creates or finds a DefaultDecisionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DefaultDecisionType. + */ + @JsonCreator + public static DefaultDecisionType fromString(String name) { + return fromString(name, DefaultDecisionType.class); + } + + /** + * Gets known DefaultDecisionType values. + * + * @return known DefaultDecisionType values. + */ + public static Collection values() { + return values(DefaultDecisionType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertConfigurationProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertConfigurationProperties.java new file mode 100644 index 0000000000000..e5968386fe7eb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertConfigurationProperties.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The duplicate role created alert configuration. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertConfigurationType") +@JsonTypeName("DuplicateRoleCreatedAlertConfiguration") +@Fluent +public final class DuplicateRoleCreatedAlertConfigurationProperties extends AlertConfigurationPropertiesInner { + /** Creates an instance of DuplicateRoleCreatedAlertConfigurationProperties class. */ + public DuplicateRoleCreatedAlertConfigurationProperties() { + } + + /** {@inheritDoc} */ + @Override + public DuplicateRoleCreatedAlertConfigurationProperties withIsEnabled(Boolean isEnabled) { + super.withIsEnabled(isEnabled); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertIncidentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertIncidentProperties.java new file mode 100644 index 0000000000000..28a2c81ed8eb1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DuplicateRoleCreatedAlertIncidentProperties.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Duplicate role created alert incident properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertIncidentType") +@JsonTypeName("DuplicateRoleCreatedAlertIncident") +@Immutable +public final class DuplicateRoleCreatedAlertIncidentProperties extends AlertIncidentProperties { + /* + * The role name. + */ + @JsonProperty(value = "roleName", access = JsonProperty.Access.WRITE_ONLY) + private String roleName; + + /* + * The duplicate roles. + */ + @JsonProperty(value = "duplicateRoles", access = JsonProperty.Access.WRITE_ONLY) + private String duplicateRoles; + + /* + * The reason for the incident. + */ + @JsonProperty(value = "reason", access = JsonProperty.Access.WRITE_ONLY) + private String reason; + + /** Creates an instance of DuplicateRoleCreatedAlertIncidentProperties class. */ + public DuplicateRoleCreatedAlertIncidentProperties() { + } + + /** + * Get the roleName property: The role name. + * + * @return the roleName value. + */ + public String roleName() { + return this.roleName; + } + + /** + * Get the duplicateRoles property: The duplicate roles. + * + * @return the duplicateRoles value. + */ + public String duplicateRoles() { + return this.duplicateRoles; + } + + /** + * Get the reason property: The reason for the incident. + * + * @return the reason value. + */ + public String reason() { + return this.reason; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java new file mode 100644 index 0000000000000..a5eaf0409aa1c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.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 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.authorization.generated.fluent.models.OperationInner object. + * + * @return the inner object. + */ + OperationInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java new file mode 100644 index 0000000000000..12fe9550b5560 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The display information for a Microsoft.Authorization operation. */ +@Immutable +public final class OperationDisplay { + /* + * The resource provider name: Microsoft.Authorization. + */ + @JsonProperty(value = "provider", access = JsonProperty.Access.WRITE_ONLY) + private String provider; + + /* + * The resource on which the operation is performed. + */ + @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY) + private String resource; + + /* + * The operation that users can perform. + */ + @JsonProperty(value = "operation", access = JsonProperty.Access.WRITE_ONLY) + private String operation; + + /* + * The description for the operation. + */ + @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY) + private String description; + + /** Creates an instance of OperationDisplay class. */ + public OperationDisplay() { + } + + /** + * Get the provider property: The resource provider name: Microsoft.Authorization. + * + * @return the provider value. + */ + public String provider() { + return this.provider; + } + + /** + * Get the resource property: The resource on which the operation is performed. + * + * @return the resource value. + */ + public String resource() { + return this.resource; + } + + /** + * Get the operation property: The operation that users can perform. + * + * @return the operation value. + */ + public String operation() { + return this.operation; + } + + /** + * Get the description property: The 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() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java new file mode 100644 index 0000000000000..4e845708d3232 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.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.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The result of a request to list Microsoft.Authorization operations. */ +@Fluent +public final class OperationListResult { + /* + * The collection value. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URI that can be used to request the next set of paged results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** Creates an instance of OperationListResult class. */ + public OperationListResult() { + } + + /** + * Get the value property: The collection value. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: The collection value. + * + * @param value the value value to set. + * @return the OperationListResult object itself. + */ + public OperationListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URI that can be used to request the next set of paged results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URI that can be used to request the next set of paged results. + * + * @param nextLink the nextLink value to set. + * @return the OperationListResult object itself. + */ + public OperationListResult 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()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java new file mode 100644 index 0000000000000..bdcff7eab6988 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of Operations. */ +public interface Operations { + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(); + + /** + * Lists the operations available from this provider. + * + * @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 result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsProperties.java new file mode 100644 index 0000000000000..70813fdefeeb3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsProperties.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Record All Decisions payload. */ +@Fluent +public final class RecordAllDecisionsProperties { + /* + * The id of principal which needs to be approved/denied. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The id of resource which needs to be approved/denied. + */ + @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY) + private String resourceId; + + /* + * The decision to make. Approvers can take action of Approve/Deny + */ + @JsonProperty(value = "decision") + private RecordAllDecisionsResult decision; + + /* + * Justification provided by approvers for their action + */ + @JsonProperty(value = "justification") + private String justification; + + /** Creates an instance of RecordAllDecisionsProperties class. */ + public RecordAllDecisionsProperties() { + } + + /** + * Get the principalId property: The id of principal which needs to be approved/denied. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the resourceId property: The id of resource which needs to be approved/denied. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Get the decision property: The decision to make. Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + public RecordAllDecisionsResult decision() { + return this.decision; + } + + /** + * Set the decision property: The decision to make. Approvers can take action of Approve/Deny. + * + * @param decision the decision value to set. + * @return the RecordAllDecisionsProperties object itself. + */ + public RecordAllDecisionsProperties withDecision(RecordAllDecisionsResult decision) { + this.decision = decision; + return this; + } + + /** + * Get the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification provided by approvers for their action. + * + * @param justification the justification value to set. + * @return the RecordAllDecisionsProperties object itself. + */ + public RecordAllDecisionsProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsResult.java new file mode 100644 index 0000000000000..b3b82b89533d5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecordAllDecisionsResult.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.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The decision to make. Approvers can take action of Approve/Deny. */ +public final class RecordAllDecisionsResult extends ExpandableStringEnum { + /** Static value Approve for RecordAllDecisionsResult. */ + public static final RecordAllDecisionsResult APPROVE = fromString("Approve"); + + /** Static value Deny for RecordAllDecisionsResult. */ + public static final RecordAllDecisionsResult DENY = fromString("Deny"); + + /** + * Creates a new instance of RecordAllDecisionsResult value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public RecordAllDecisionsResult() { + } + + /** + * Creates or finds a RecordAllDecisionsResult from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecordAllDecisionsResult. + */ + @JsonCreator + public static RecordAllDecisionsResult fromString(String name) { + return fromString(name, RecordAllDecisionsResult.class); + } + + /** + * Gets known RecordAllDecisionsResult values. + * + * @return known RecordAllDecisionsResult values. + */ + public static Collection values() { + return values(RecordAllDecisionsResult.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewDefaultSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewDefaultSettings.java new file mode 100644 index 0000000000000..adebb6e9feedb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewDefaultSettings.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Resource collection API of ScopeAccessReviewDefaultSettings. */ +public interface ScopeAccessReviewDefaultSettings { + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription along with {@link Response}. + */ + Response getWithResponse(String scope, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @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 access review default settings for the subscription. + */ + AccessReviewDefaultSettings get(String scope); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription along with {@link Response}. + */ + Response putWithResponse( + String scope, AccessReviewScheduleSettings properties, Context context); + + /** + * Get access review default settings for the subscription. + * + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @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 access review default settings for the subscription. + */ + AccessReviewDefaultSettings put(String scope, AccessReviewScheduleSettings properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstances.java new file mode 100644 index 0000000000000..07f80ad70c898 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstances.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.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of ScopeAccessReviewHistoryDefinitionInstances. */ +public interface ScopeAccessReviewHistoryDefinitionInstances { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance along with {@link Response}. + */ + Response generateDownloadUriWithResponse( + String scope, String historyDefinitionId, String instanceId, Context context); + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be + * retrieved by fetching the accessReviewHistoryDefinition object. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @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 access Review History Definition Instance. + */ + AccessReviewHistoryInstance generateDownloadUri(String scope, String historyDefinitionId, String instanceId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstancesOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstancesOperations.java new file mode 100644 index 0000000000000..e9c9774298966 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionInstancesOperations.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.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of ScopeAccessReviewHistoryDefinitionInstancesOperations. */ +public interface ScopeAccessReviewHistoryDefinitionInstancesOperations { + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String scope, String historyDefinitionId); + + /** + * Get access review history definition instances by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition instances by definition Id as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String scope, String historyDefinitionId, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionOperations.java new file mode 100644 index 0000000000000..d15fcc0d99df5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitionOperations.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; + +/** Resource collection API of ScopeAccessReviewHistoryDefinitionOperations. */ +public interface ScopeAccessReviewHistoryDefinitionOperations { + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition along with {@link Response}. + */ + Response createWithResponse( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context); + + /** + * Create a scheduled or one-time Access Review History Definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @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 access Review History Definition. + */ + AccessReviewHistoryDefinition create( + String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties); + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 scope, String historyDefinitionId, Context context); + + /** + * Delete an access review history definition. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 scope, String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitions.java new file mode 100644 index 0000000000000..5bf20fec828c5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewHistoryDefinitions.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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 ScopeAccessReviewHistoryDefinitions. */ +public interface ScopeAccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope); + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available + * for 30 days after creation. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are + * supported. + * @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 list of Access Review History Definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String filter, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id along with {@link Response}. + */ + Response getByIdWithResponse( + String scope, String historyDefinitionId, Context context); + + /** + * Get access review history definition by definition Id. + * + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @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 access review history definition by definition Id. + */ + AccessReviewHistoryDefinition getById(String scope, String historyDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceContactedReviewers.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceContactedReviewers.java new file mode 100644 index 0000000000000..0df5cb177a534 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceContactedReviewers.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of ScopeAccessReviewInstanceContactedReviewers. */ +public interface ScopeAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list( + String scope, String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceDecisions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceDecisions.java new file mode 100644 index 0000000000000..60dce76a0fef6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceDecisions.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.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of ScopeAccessReviewInstanceDecisions. */ +public interface ScopeAccessReviewInstanceDecisions { + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list( + String scope, String scheduleDefinitionId, String id, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceOperations.java new file mode 100644 index 0000000000000..c81caa2f8cb43 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstanceOperations.java @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of ScopeAccessReviewInstanceOperations. */ +public interface ScopeAccessReviewInstanceOperations { + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to stop an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 stop(String scope, String scheduleDefinitionId, String id); + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisionsWithResponse( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties, Context context); + + /** + * An action to approve/deny all decisions for a review with certain filters. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @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 recordAllDecisions( + String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 resetDecisions(String scope, String scheduleDefinitionId, String id); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 applyDecisions(String scope, String scheduleDefinitionId, String id); + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendRemindersWithResponse(String scope, String scheduleDefinitionId, String id, Context context); + + /** + * An action to send reminders for an access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 sendReminders(String scope, String scheduleDefinitionId, String id); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstances.java new file mode 100644 index 0000000000000..b7a2a02b86dba --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewInstances.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; + +/** Resource collection API of ScopeAccessReviewInstances. */ +public interface ScopeAccessReviewInstances { + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String scheduleDefinitionId, String filter, Context context); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances along with {@link Response}. + */ + Response getByIdWithResponse( + String scope, String scheduleDefinitionId, String id, Context context); + + /** + * Get access review instances. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instances. + */ + AccessReviewInstance getById(String scope, String scheduleDefinitionId, String id); + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance along with {@link Response}. + */ + Response createWithResponse( + String scope, + String scheduleDefinitionId, + String id, + AccessReviewInstanceProperties properties, + Context context); + + /** + * Update access review instance. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @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 access Review Instance. + */ + AccessReviewInstance create( + String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewScheduleDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewScheduleDefinitions.java new file mode 100644 index 0000000000000..45e051f582652 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ScopeAccessReviewScheduleDefinitions.java @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** Resource collection API of ScopeAccessReviewScheduleDefinitions. */ +public interface ScopeAccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope); + + /** + * Get access review schedule definitions. + * + * @param scope The scope of the resource. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @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 access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scope, String filter, Context context); + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition along with {@link Response}. + */ + Response getByIdWithResponse( + String scope, String scheduleDefinitionId, Context context); + + /** + * Get single access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 single access review definition. + */ + AccessReviewScheduleDefinition getById(String scope, String scheduleDefinitionId); + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 scope, String scheduleDefinitionId, Context context); + + /** + * Delete access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 scope, String scheduleDefinitionId); + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition along with {@link Response}. + */ + Response createOrUpdateByIdWithResponse( + String scope, + String scheduleDefinitionId, + AccessReviewScheduleDefinitionProperties properties, + Context context); + + /** + * Create or Update access review schedule definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @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 access Review Schedule Definition. + */ + AccessReviewScheduleDefinition createOrUpdateById( + String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties); + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stopWithResponse(String scope, String scheduleDefinitionId, Context context); + + /** + * Stop access review definition. + * + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @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 stop(String scope, String scheduleDefinitionId); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/SeverityLevel.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/SeverityLevel.java new file mode 100644 index 0000000000000..2e12e7d44c553 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/SeverityLevel.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Severity level of the alert. */ +public final class SeverityLevel extends ExpandableStringEnum { + /** Static value Low for SeverityLevel. */ + public static final SeverityLevel LOW = fromString("Low"); + + /** Static value Medium for SeverityLevel. */ + public static final SeverityLevel MEDIUM = fromString("Medium"); + + /** Static value High for SeverityLevel. */ + public static final SeverityLevel HIGH = fromString("High"); + + /** + * Creates a new instance of SeverityLevel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Deprecated + public SeverityLevel() { + } + + /** + * Creates or finds a SeverityLevel from its string representation. + * + * @param name a name to look for. + * @return the corresponding SeverityLevel. + */ + @JsonCreator + public static SeverityLevel fromString(String name) { + return fromString(name, SeverityLevel.class); + } + + /** + * Gets known SeverityLevel values. + * + * @return known SeverityLevel values. + */ + public static Collection values() { + return values(SeverityLevel.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TenantLevelAccessReviewInstanceContactedReviewers.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TenantLevelAccessReviewInstanceContactedReviewers.java new file mode 100644 index 0000000000000..c019d66b6a6f4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TenantLevelAccessReviewInstanceContactedReviewers.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of TenantLevelAccessReviewInstanceContactedReviewers. */ +public interface TenantLevelAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance contacted reviewers. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @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 access review instance contacted reviewers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertConfigurationProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertConfigurationProperties.java new file mode 100644 index 0000000000000..b1d36c4eeaa6a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertConfigurationProperties.java @@ -0,0 +1,96 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Too many owners assigned to resource alert configuration properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertConfigurationType") +@JsonTypeName("TooManyOwnersAssignedToResourceAlertConfiguration") +@Fluent +public final class TooManyOwnersAssignedToResourceAlertConfigurationProperties + extends AlertConfigurationPropertiesInner { + /* + * The threshold number of owners. + */ + @JsonProperty(value = "thresholdNumberOfOwners") + private Integer thresholdNumberOfOwners; + + /* + * The threshold percentage of owners out of all role members. + */ + @JsonProperty(value = "thresholdPercentageOfOwnersOutOfAllRoleMembers") + private Integer thresholdPercentageOfOwnersOutOfAllRoleMembers; + + /** Creates an instance of TooManyOwnersAssignedToResourceAlertConfigurationProperties class. */ + public TooManyOwnersAssignedToResourceAlertConfigurationProperties() { + } + + /** + * Get the thresholdNumberOfOwners property: The threshold number of owners. + * + * @return the thresholdNumberOfOwners value. + */ + public Integer thresholdNumberOfOwners() { + return this.thresholdNumberOfOwners; + } + + /** + * Set the thresholdNumberOfOwners property: The threshold number of owners. + * + * @param thresholdNumberOfOwners the thresholdNumberOfOwners value to set. + * @return the TooManyOwnersAssignedToResourceAlertConfigurationProperties object itself. + */ + public TooManyOwnersAssignedToResourceAlertConfigurationProperties withThresholdNumberOfOwners( + Integer thresholdNumberOfOwners) { + this.thresholdNumberOfOwners = thresholdNumberOfOwners; + return this; + } + + /** + * Get the thresholdPercentageOfOwnersOutOfAllRoleMembers property: The threshold percentage of owners out of all + * role members. + * + * @return the thresholdPercentageOfOwnersOutOfAllRoleMembers value. + */ + public Integer thresholdPercentageOfOwnersOutOfAllRoleMembers() { + return this.thresholdPercentageOfOwnersOutOfAllRoleMembers; + } + + /** + * Set the thresholdPercentageOfOwnersOutOfAllRoleMembers property: The threshold percentage of owners out of all + * role members. + * + * @param thresholdPercentageOfOwnersOutOfAllRoleMembers the thresholdPercentageOfOwnersOutOfAllRoleMembers value to + * set. + * @return the TooManyOwnersAssignedToResourceAlertConfigurationProperties object itself. + */ + public TooManyOwnersAssignedToResourceAlertConfigurationProperties + withThresholdPercentageOfOwnersOutOfAllRoleMembers(Integer thresholdPercentageOfOwnersOutOfAllRoleMembers) { + this.thresholdPercentageOfOwnersOutOfAllRoleMembers = thresholdPercentageOfOwnersOutOfAllRoleMembers; + return this; + } + + /** {@inheritDoc} */ + @Override + public TooManyOwnersAssignedToResourceAlertConfigurationProperties withIsEnabled(Boolean isEnabled) { + super.withIsEnabled(isEnabled); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertIncidentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertIncidentProperties.java new file mode 100644 index 0000000000000..fc4bfc40a9114 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyOwnersAssignedToResourceAlertIncidentProperties.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Too many owners assigned to resource alert incident properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertIncidentType") +@JsonTypeName("TooManyOwnersAssignedToResourceAlertIncident") +@Immutable +public final class TooManyOwnersAssignedToResourceAlertIncidentProperties extends AlertIncidentProperties { + /* + * The assignee name. + */ + @JsonProperty(value = "assigneeName", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeName; + + /* + * The assignee type. + */ + @JsonProperty(value = "assigneeType", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeType; + + /** Creates an instance of TooManyOwnersAssignedToResourceAlertIncidentProperties class. */ + public TooManyOwnersAssignedToResourceAlertIncidentProperties() { + } + + /** + * Get the assigneeName property: The assignee name. + * + * @return the assigneeName value. + */ + public String assigneeName() { + return this.assigneeName; + } + + /** + * Get the assigneeType property: The assignee type. + * + * @return the assigneeType value. + */ + public String assigneeType() { + return this.assigneeType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties.java new file mode 100644 index 0000000000000..3f890c0579b4b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationPropertiesInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Too many permanent owners assigned to resource alert configuration properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertConfigurationType") +@JsonTypeName("TooManyPermanentOwnersAssignedToResourceAlertConfiguration") +@Fluent +public final class TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties + extends AlertConfigurationPropertiesInner { + /* + * The threshold number of permanent owners. + */ + @JsonProperty(value = "thresholdNumberOfPermanentOwners") + private Integer thresholdNumberOfPermanentOwners; + + /* + * The threshold percentage of permanent owners out of all owners. + */ + @JsonProperty(value = "thresholdPercentageOfPermanentOwnersOutOfAllOwners") + private Integer thresholdPercentageOfPermanentOwnersOutOfAllOwners; + + /** Creates an instance of TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties class. */ + public TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties() { + } + + /** + * Get the thresholdNumberOfPermanentOwners property: The threshold number of permanent owners. + * + * @return the thresholdNumberOfPermanentOwners value. + */ + public Integer thresholdNumberOfPermanentOwners() { + return this.thresholdNumberOfPermanentOwners; + } + + /** + * Set the thresholdNumberOfPermanentOwners property: The threshold number of permanent owners. + * + * @param thresholdNumberOfPermanentOwners the thresholdNumberOfPermanentOwners value to set. + * @return the TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties object itself. + */ + public TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties withThresholdNumberOfPermanentOwners( + Integer thresholdNumberOfPermanentOwners) { + this.thresholdNumberOfPermanentOwners = thresholdNumberOfPermanentOwners; + return this; + } + + /** + * Get the thresholdPercentageOfPermanentOwnersOutOfAllOwners property: The threshold percentage of permanent owners + * out of all owners. + * + * @return the thresholdPercentageOfPermanentOwnersOutOfAllOwners value. + */ + public Integer thresholdPercentageOfPermanentOwnersOutOfAllOwners() { + return this.thresholdPercentageOfPermanentOwnersOutOfAllOwners; + } + + /** + * Set the thresholdPercentageOfPermanentOwnersOutOfAllOwners property: The threshold percentage of permanent owners + * out of all owners. + * + * @param thresholdPercentageOfPermanentOwnersOutOfAllOwners the thresholdPercentageOfPermanentOwnersOutOfAllOwners + * value to set. + * @return the TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties object itself. + */ + public TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties + withThresholdPercentageOfPermanentOwnersOutOfAllOwners( + Integer thresholdPercentageOfPermanentOwnersOutOfAllOwners) { + this.thresholdPercentageOfPermanentOwnersOutOfAllOwners = thresholdPercentageOfPermanentOwnersOutOfAllOwners; + return this; + } + + /** {@inheritDoc} */ + @Override + public TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties withIsEnabled(Boolean isEnabled) { + super.withIsEnabled(isEnabled); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties.java new file mode 100644 index 0000000000000..8d85ae8e4fd83 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Too many permanent owners assigned to resource alert incident properties. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "alertIncidentType") +@JsonTypeName("TooManyPermanentOwnersAssignedToResourceAlertIncident") +@Immutable +public final class TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties extends AlertIncidentProperties { + /* + * The assignee name. + */ + @JsonProperty(value = "assigneeName", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeName; + + /* + * The assignee type. + */ + @JsonProperty(value = "assigneeType", access = JsonProperty.Access.WRITE_ONLY) + private String assigneeType; + + /** Creates an instance of TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties class. */ + public TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties() { + } + + /** + * Get the assigneeName property: The assignee name. + * + * @return the assigneeName value. + */ + public String assigneeName() { + return this.assigneeName; + } + + /** + * Get the assigneeType property: The assignee type. + * + * @return the assigneeType value. + */ + public String assigneeType() { + return this.assigneeType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java new file mode 100644 index 0000000000000..a17b72025cbf1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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 AuthorizationManagementClient. Access reviews service provides the workflow + * for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.models; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java new file mode 100644 index 0000000000000..156190451efbe --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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 AuthorizationManagementClient. Access reviews service provides the workflow for + * running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java new file mode 100644 index 0000000000000..ff6e8e09354da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +module com.azure.resourcemanager.authorization.generated { + requires transitive com.azure.core.management; + + exports com.azure.resourcemanager.authorization.generated; + exports com.azure.resourcemanager.authorization.generated.fluent; + exports com.azure.resourcemanager.authorization.generated.fluent.models; + exports com.azure.resourcemanager.authorization.generated.models; + + opens com.azure.resourcemanager.authorization.generated.fluent.models to + com.azure.core, + com.fasterxml.jackson.databind; + opens com.azure.resourcemanager.authorization.generated.models to + com.azure.core, + com.fasterxml.jackson.databind; +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java new file mode 100644 index 0000000000000..8387c7dcc7c21 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for AccessReviewInstanceMyDecisions GetById. */ +public final class AccessReviewInstanceMyDecisionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java new file mode 100644 index 0000000000000..e5d47e76f322f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for AccessReviewInstanceMyDecisions List. */ +public final class AccessReviewInstanceMyDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + null, + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java new file mode 100644 index 0000000000000..9d44eba8cd63c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Samples for AccessReviewInstanceMyDecisions Patch. */ +public final class AccessReviewInstanceMyDecisionsPatchSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java new file mode 100644 index 0000000000000..3267731a316f9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.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.authorization.generated.generated; + +/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java new file mode 100644 index 0000000000000..28119faec93fb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.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.authorization.generated.generated; + +/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */ +public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java new file mode 100644 index 0000000000000..47a2cea7a43ab --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.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.authorization.generated.generated; + +/** Samples for AccessReviewInstancesAssignedForMyApproval List. */ +public final class AccessReviewInstancesAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "assignedToMeToReview()", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java new file mode 100644 index 0000000000000..1a5ad5bac0275 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.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.authorization.generated.generated; + +/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitionsAssignedForMyApprovals() + .list("assignedToMeToReview()", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsGetSamples.java new file mode 100644 index 0000000000000..ed1b195e40888 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsGetSamples.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.authorization.generated.generated; + +/** Samples for AlertConfigurations Get. */ +public final class AlertConfigurationsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertConfigurationById.json + */ + /** + * Sample code: GetAlertConfigurationById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertConfigurationById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsListForScopeSamples.java new file mode 100644 index 0000000000000..5d224502a3f7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsListForScopeSamples.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.authorization.generated.generated; + +/** Samples for AlertConfigurations ListForScope. */ +public final class AlertConfigurationsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertConfigurations.json + */ + /** + * Sample code: GetAlertConfigurations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertConfigurations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsUpdateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsUpdateSamples.java new file mode 100644 index 0000000000000..c7bf9a0f1cefd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertConfigurationsUpdateSamples.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner; +import com.azure.resourcemanager.authorization.generated.models.TooManyOwnersAssignedToResourceAlertConfigurationProperties; + +/** Samples for AlertConfigurations Update. */ +public final class AlertConfigurationsUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/UpdateAlertConfiguration.json + */ + /** + * Sample code: UpdateAlertConfiguration. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void updateAlertConfiguration( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertConfigurations() + .updateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + new AlertConfigurationInner() + .withProperties( + new TooManyOwnersAssignedToResourceAlertConfigurationProperties() + .withIsEnabled(true) + .withThresholdNumberOfOwners(2)), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsGetSamples.java new file mode 100644 index 0000000000000..754bf0a29b711 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsGetSamples.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.authorization.generated.generated; + +/** Samples for AlertDefinitions Get. */ +public final class AlertDefinitionsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertDefinitionById.json + */ + /** + * Sample code: GetAlertDefinitionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertDefinitionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertDefinitions() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyPermanentOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsListForScopeSamples.java new file mode 100644 index 0000000000000..7b451cffd28bb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertDefinitionsListForScopeSamples.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.authorization.generated.generated; + +/** Samples for AlertDefinitions ListForScope. */ +public final class AlertDefinitionsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertDefinitions.json + */ + /** + * Sample code: GetAlertDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertDefinitions() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsGetSamples.java new file mode 100644 index 0000000000000..b7daabf7667a8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsGetSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for AlertIncidents Get. */ +public final class AlertIncidentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertIncidentById.json + */ + /** + * Sample code: GetAlertIncidentById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertIncidentById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + "5cf9ee65-d22e-4784-8b17-3de1c3b7bdcc", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsListForScopeSamples.java new file mode 100644 index 0000000000000..1bcf5c9c6f2e9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsListForScopeSamples.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.authorization.generated.generated; + +/** Samples for AlertIncidents ListForScope. */ +public final class AlertIncidentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertIncidents.json + */ + /** + * Sample code: GetAlertIncidents. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertIncidents( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .listForScope( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsRemediateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsRemediateSamples.java new file mode 100644 index 0000000000000..3404cd328dedb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertIncidentsRemediateSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for AlertIncidents Remediate. */ +public final class AlertIncidentsRemediateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RemediateAlertIncident.json + */ + /** + * Sample code: RemediateAlertIncident. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void remediateAlertIncident( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertIncidents() + .remediateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "DuplicateRoleCreated", + "0645231d-16ba-4ebf-851a-0875df4052bd", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertOperationGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertOperationGetSamples.java new file mode 100644 index 0000000000000..f2d4020ce71df --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertOperationGetSamples.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.authorization.generated.generated; + +/** Samples for AlertOperation Get. */ +public final class AlertOperationGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertOperationById.json + */ + /** + * Sample code: GetAlertOperation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertOperation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alertOperations() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "{operationId}", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsGetSamples.java new file mode 100644 index 0000000000000..b94870a40730b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsGetSamples.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.authorization.generated.generated; + +/** Samples for Alerts Get. */ +public final class AlertsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlertById.json + */ + /** + * Sample code: GetAlertById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlertById(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .getWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyOwnersAssignedToResource", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsListForScopeSamples.java new file mode 100644 index 0000000000000..ab6a989023882 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsListForScopeSamples.java @@ -0,0 +1,22 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for Alerts ListForScope. */ +public final class AlertsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/GetAlerts.json + */ + /** + * Sample code: GetAlerts. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAlerts(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .listForScope("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshAllSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshAllSamples.java new file mode 100644 index 0000000000000..d43bc94fb85d2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshAllSamples.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.authorization.generated.generated; + +/** Samples for Alerts RefreshAll. */ +public final class AlertsRefreshAllSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RefreshAllAlerts.json + */ + /** + * Sample code: RefreshAllAlerts. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void refreshAllAlerts( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .refreshAll("subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshSamples.java new file mode 100644 index 0000000000000..b194642675bc1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsRefreshSamples.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.authorization.generated.generated; + +/** Samples for Alerts Refresh. */ +public final class AlertsRefreshSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/RefreshAlert.json + */ + /** + * Sample code: RefreshAlert. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void refreshAlert(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .refresh( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "AzureRolesAssignedOutsidePimAlert", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsUpdateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsUpdateSamples.java new file mode 100644 index 0000000000000..5fa2520ab935e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AlertsUpdateSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner; + +/** Samples for Alerts Update. */ +public final class AlertsUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-08-01-preview/examples/UpdateAlert.json + */ + /** + * Sample code: DeactivateAlert. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deactivateAlert(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .alerts() + .updateWithResponse( + "subscriptions/afa2a084-766f-4003-8ae1-c4aeb893a99f", + "TooManyPermanentOwnersAssignedToResource", + new AlertInner().withIsActive(false), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsGetSamples.java new file mode 100644 index 0000000000000..e5ca7cebf14ea --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsGetSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewDefaultSettings Get. */ +public final class ScopeAccessReviewDefaultSettingsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewDefaultSettings() + .getWithResponse("subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsPutSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsPutSamples.java new file mode 100644 index 0000000000000..356975980b4a3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewDefaultSettingsPutSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Samples for ScopeAccessReviewDefaultSettings Put. */ +public final class ScopeAccessReviewDefaultSettingsPutSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewDefaultSettings() + .putWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewScheduleSettings(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriSamples.java new file mode 100644 index 0000000000000..da06e44e743a8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for ScopeAccessReviewHistoryDefinitionInstance GenerateDownloadUri. */ +public final class ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PostAccessReviewHistoryDefinitionInstance.json + */ + /** + * Sample code: PostAccessReviewHistoryDefinitionInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void postAccessReviewHistoryDefinitionInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionInstances() + .generateDownloadUriWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + "9038f4f3-3d8d-43c3-8ede-669ea082c43b", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstancesOperationListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstancesOperationListSamples.java new file mode 100644 index 0000000000000..e651d89188cb5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionInstancesOperationListSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewHistoryDefinitionInstancesOperation List. */ +public final class ScopeAccessReviewHistoryDefinitionInstancesOperationListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinitionInstances.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinitionInstances. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinitionInstances( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionInstancesOperations() + .list( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationCreateSamples.java new file mode 100644 index 0000000000000..6430c8c9c4698 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationCreateSamples.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties; + +/** Samples for ScopeAccessReviewHistoryDefinitionOperation Create. */ +public final class ScopeAccessReviewHistoryDefinitionOperationCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewHistoryDefinition.json + */ + /** + * Sample code: PutAccessReviewHistoryDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReviewHistoryDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionOperations() + .createWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + new AccessReviewHistoryDefinitionProperties(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationDeleteByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationDeleteByIdSamples.java new file mode 100644 index 0000000000000..a13df058bd1a8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionOperationDeleteByIdSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewHistoryDefinitionOperation DeleteById. */ +public final class ScopeAccessReviewHistoryDefinitionOperationDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/DeleteAccessReviewHistoryDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitionOperations() + .deleteByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsGetByIdSamples.java new file mode 100644 index 0000000000000..69890d7eb16f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsGetByIdSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewHistoryDefinitions GetById. */ +public final class ScopeAccessReviewHistoryDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinition.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitions() + .getByIdWithResponse( + "subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", + "44724910-d7a5-4c29-b28f-db73e717165a", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsListSamples.java new file mode 100644 index 0000000000000..3f609bbe6593b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewHistoryDefinitionsListSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewHistoryDefinitions List. */ +public final class ScopeAccessReviewHistoryDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewHistoryDefinitions.json + */ + /** + * Sample code: GetAccessReviewHistoryDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewHistoryDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewHistoryDefinitions() + .list("subscriptions/129a304b-4aea-4b86-a9f7-ba7e2b23737a", null, com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceContactedReviewersListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceContactedReviewersListSamples.java new file mode 100644 index 0000000000000..ecb89a1479033 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceContactedReviewersListSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceContactedReviewers List. */ +public final class ScopeAccessReviewInstanceContactedReviewersListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceContactedReviewers.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceContactedReviewers() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceDecisionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceDecisionsListSamples.java new file mode 100644 index 0000000000000..852520421b373 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceDecisionsListSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceDecisions List. */ +public final class ScopeAccessReviewInstanceDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceDecisions() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + null, + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationApplyDecisionsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationApplyDecisionsSamples.java new file mode 100644 index 0000000000000..9731bc83517a7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationApplyDecisionsSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceOperation ApplyDecisions. */ +public final class ScopeAccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .applyDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationRecordAllDecisionsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationRecordAllDecisionsSamples.java new file mode 100644 index 0000000000000..38e2b28dded65 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationRecordAllDecisionsSamples.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.models.RecordAllDecisionsProperties; + +/** Samples for ScopeAccessReviewInstanceOperation RecordAllDecisions. */ +public final class ScopeAccessReviewInstanceOperationRecordAllDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceRecordAllDecisions.json + */ + /** + * Sample code: AccessReviewInstanceRecordAllDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceRecordAllDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .recordAllDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + new RecordAllDecisionsProperties(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationResetDecisionsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationResetDecisionsSamples.java new file mode 100644 index 0000000000000..e6bebd0bfd39b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationResetDecisionsSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceOperation ResetDecisions. */ +public final class ScopeAccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .resetDecisionsWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationSendRemindersSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationSendRemindersSamples.java new file mode 100644 index 0000000000000..70608277bc6dd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationSendRemindersSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceOperation SendReminders. */ +public final class ScopeAccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .sendRemindersWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationStopSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationStopSamples.java new file mode 100644 index 0000000000000..fa0055dff173a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstanceOperationStopSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstanceOperation Stop. */ +public final class ScopeAccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstanceOperations() + .stopWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "d9b9e056-7004-470b-bf21-1635e98487da", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesCreateSamples.java new file mode 100644 index 0000000000000..4e7d9f954a87f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesCreateSamples.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties; + +/** Samples for ScopeAccessReviewInstances Create. */ +public final class ScopeAccessReviewInstancesCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .createWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "4135f961-be78-4005-8101-c72a5af307a2", + new AccessReviewInstanceProperties(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesGetByIdSamples.java new file mode 100644 index 0000000000000..4fbbc92fedeb9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesGetByIdSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstances GetById. */ +public final class ScopeAccessReviewInstancesGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .getByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "4135f961-be78-4005-8101-c72a5af307a2", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesListSamples.java new file mode 100644 index 0000000000000..927e481395af9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewInstancesListSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for ScopeAccessReviewInstances List. */ +public final class ScopeAccessReviewInstancesListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewInstances() + .list( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "265785a7-a81f-4201-8a18-bb0db95982b7", + null, + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java new file mode 100644 index 0000000000000..41deae23b2e7e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** Samples for ScopeAccessReviewScheduleDefinitions CreateOrUpdateById. */ +public final class ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewScheduleDefinitionProperties(), + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsDeleteByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsDeleteByIdSamples.java new file mode 100644 index 0000000000000..772cebc84ade6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsDeleteByIdSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewScheduleDefinitions DeleteById. */ +public final class ScopeAccessReviewScheduleDefinitionsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .deleteByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsGetByIdSamples.java new file mode 100644 index 0000000000000..5c4983c5dbc14 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsGetByIdSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewScheduleDefinitions GetById. */ +public final class ScopeAccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .getByIdWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsListSamples.java new file mode 100644 index 0000000000000..3bb3908909ca7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsListSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewScheduleDefinitions List. */ +public final class ScopeAccessReviewScheduleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .list("subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", null, com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsStopSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsStopSamples.java new file mode 100644 index 0000000000000..768d6507ac63b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ScopeAccessReviewScheduleDefinitionsStopSamples.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.authorization.generated.generated; + +/** Samples for ScopeAccessReviewScheduleDefinitions Stop. */ +public final class ScopeAccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .scopeAccessReviewScheduleDefinitions() + .stopWithResponse( + "subscriptions/fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/TenantLevelAccessReviewInstanceContactedReviewersListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/TenantLevelAccessReviewInstanceContactedReviewersListSamples.java new file mode 100644 index 0000000000000..32459672bf815 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/TenantLevelAccessReviewInstanceContactedReviewersListSamples.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.authorization.generated.generated; + +/** Samples for TenantLevelAccessReviewInstanceContactedReviewers List. */ +public final class TenantLevelAccessReviewInstanceContactedReviewersListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-12-01-preview/examples/TenantLevelGetAccessReviewInstanceContactedReviewers.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .tenantLevelAccessReviewInstanceContactedReviewers() + .list( + "265785a7-a81f-4201-8a18-bb0db95982b7", + "f25ed880-9c31-4101-bc57-825d8df3b58c", + com.azure.core.util.Context.NONE); + } +} diff --git a/sdk/authorization/ci.yml b/sdk/authorization/ci.yml new file mode 100644 index 0000000000000..eb62b2724b500 --- /dev/null +++ b/sdk/authorization/ci.yml @@ -0,0 +1,47 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/authorization/ci.yml + - sdk/authorization/azure-resourcemanager-authorization-generated/ + exclude: + - sdk/authorization/pom.xml + - sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/authorization/ci.yml + - sdk/authorization/azure-resourcemanager-authorization-generated/ + exclude: + - sdk/authorization/pom.xml + - sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml + +parameters: + - name: release_azureresourcemanagerauthorizationgenerated + displayName: azure-resourcemanager-authorization-generated + type: boolean + default: false + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: authorization + EnableBatchRelease: true + Artifacts: + - name: azure-resourcemanager-authorization-generated + groupId: com.azure.resourcemanager + safeName: azureresourcemanagerauthorizationgenerated + releaseInBatch: ${{ parameters.release_azureresourcemanagerauthorizationgenerated }} diff --git a/sdk/authorization/pom.xml b/sdk/authorization/pom.xml new file mode 100644 index 0000000000000..ac027b696debd --- /dev/null +++ b/sdk/authorization/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + com.azure + azure-authorization-service + pom + 1.0.0 + + + azure-resourcemanager-authorization-generated + +