diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 69d408ceafda..b035a5279576 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -322,6 +322,7 @@ com.azure.resourcemanager:azure-resourcemanager-extendedlocation;1.0.0-beta.1;1.
com.azure.resourcemanager:azure-resourcemanager-logz;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-storagepool;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-dataprotection;1.0.0-beta.1;1.0.0-beta.1
+com.azure.resourcemanager:azure-resourcemanager-authorization-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
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 000000000000..fca2aaa19b92
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-11-02)
+
+- 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-2020-10-01-preview. 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 000000000000..9715f919dbd6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md
@@ -0,0 +1,102 @@
+# 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-2020-10-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-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] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+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](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[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
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 000000000000..77a4c6c6820f
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md
@@ -0,0 +1,2429 @@
+# Code snippets and samples
+
+
+## AccessReviewDefaultSettingsOperation
+
+- [Get](#accessreviewdefaultsettingsoperation_get)
+- [Put](#accessreviewdefaultsettingsoperation_put)
+
+## AccessReviewInstanceDecisions
+
+- [List](#accessreviewinstancedecisions_list)
+
+## AccessReviewInstanceMyDecisions
+
+- [GetById](#accessreviewinstancemydecisions_getbyid)
+- [List](#accessreviewinstancemydecisions_list)
+- [Patch](#accessreviewinstancemydecisions_patch)
+
+## AccessReviewInstanceOperation
+
+- [AcceptRecommendations](#accessreviewinstanceoperation_acceptrecommendations)
+- [ApplyDecisions](#accessreviewinstanceoperation_applydecisions)
+- [ResetDecisions](#accessreviewinstanceoperation_resetdecisions)
+- [SendReminders](#accessreviewinstanceoperation_sendreminders)
+- [Stop](#accessreviewinstanceoperation_stop)
+
+## AccessReviewInstances
+
+- [GetById](#accessreviewinstances_getbyid)
+- [List](#accessreviewinstances_list)
+
+## AccessReviewInstancesAssignedForMyApproval
+
+- [GetById](#accessreviewinstancesassignedformyapproval_getbyid)
+- [List](#accessreviewinstancesassignedformyapproval_list)
+
+## AccessReviewScheduleDefinitions
+
+- [CreateOrUpdateById](#accessreviewscheduledefinitions_createorupdatebyid)
+- [DeleteById](#accessreviewscheduledefinitions_deletebyid)
+- [GetById](#accessreviewscheduledefinitions_getbyid)
+- [List](#accessreviewscheduledefinitions_list)
+- [Stop](#accessreviewscheduledefinitions_stop)
+
+## AccessReviewScheduleDefinitionsAssignedForMyApproval
+
+- [List](#accessreviewscheduledefinitionsassignedformyapproval_list)
+
+## DenyAssignments
+
+- [Get](#denyassignments_get)
+- [GetById](#denyassignments_getbyid)
+- [List](#denyassignments_list)
+- [ListByResourceGroup](#denyassignments_listbyresourcegroup)
+- [ListForResource](#denyassignments_listforresource)
+- [ListForScope](#denyassignments_listforscope)
+
+## EligibleChildResources
+
+- [Get](#eligiblechildresources_get)
+
+## Permissions
+
+- [ListByResourceGroup](#permissions_listbyresourcegroup)
+- [ListForResource](#permissions_listforresource)
+
+## ProviderOperationsMetadata
+
+- [Get](#provideroperationsmetadata_get)
+- [List](#provideroperationsmetadata_list)
+
+## RoleAssignmentMetrics
+
+- [GetMetricsForSubscription](#roleassignmentmetrics_getmetricsforsubscription)
+
+## RoleAssignmentScheduleInstances
+
+- [Get](#roleassignmentscheduleinstances_get)
+- [ListForScope](#roleassignmentscheduleinstances_listforscope)
+
+## RoleAssignmentScheduleRequests
+
+- [Cancel](#roleassignmentschedulerequests_cancel)
+- [Create](#roleassignmentschedulerequests_create)
+- [Get](#roleassignmentschedulerequests_get)
+- [ListForScope](#roleassignmentschedulerequests_listforscope)
+
+## RoleAssignmentSchedules
+
+- [Get](#roleassignmentschedules_get)
+- [ListForScope](#roleassignmentschedules_listforscope)
+
+## RoleAssignments
+
+- [Create](#roleassignments_create)
+- [CreateById](#roleassignments_createbyid)
+- [Delete](#roleassignments_delete)
+- [DeleteById](#roleassignments_deletebyid)
+- [Get](#roleassignments_get)
+- [GetById](#roleassignments_getbyid)
+- [List](#roleassignments_list)
+- [ListByResourceGroup](#roleassignments_listbyresourcegroup)
+- [ListForResource](#roleassignments_listforresource)
+- [ListForScope](#roleassignments_listforscope)
+- [Validate](#roleassignments_validate)
+- [ValidateById](#roleassignments_validatebyid)
+
+## RoleDefinitions
+
+- [CreateOrUpdate](#roledefinitions_createorupdate)
+- [Delete](#roledefinitions_delete)
+- [Get](#roledefinitions_get)
+- [GetById](#roledefinitions_getbyid)
+- [List](#roledefinitions_list)
+
+## RoleEligibilityScheduleInstances
+
+- [Get](#roleeligibilityscheduleinstances_get)
+- [ListForScope](#roleeligibilityscheduleinstances_listforscope)
+
+## RoleEligibilityScheduleRequests
+
+- [Cancel](#roleeligibilityschedulerequests_cancel)
+- [Create](#roleeligibilityschedulerequests_create)
+- [Get](#roleeligibilityschedulerequests_get)
+- [ListForScope](#roleeligibilityschedulerequests_listforscope)
+
+## RoleEligibilitySchedules
+
+- [Get](#roleeligibilityschedules_get)
+- [ListForScope](#roleeligibilityschedules_listforscope)
+
+## RoleManagementPolicies
+
+- [Delete](#rolemanagementpolicies_delete)
+- [Get](#rolemanagementpolicies_get)
+- [ListForScope](#rolemanagementpolicies_listforscope)
+- [Update](#rolemanagementpolicies_update)
+
+## RoleManagementPolicyAssignments
+
+- [Create](#rolemanagementpolicyassignments_create)
+- [Delete](#rolemanagementpolicyassignments_delete)
+- [Get](#rolemanagementpolicyassignments_get)
+- [ListForScope](#rolemanagementpolicyassignments_listforscope)
+### AccessReviewDefaultSettingsOperation_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewDefaultSettingsOperation Get. */
+public final class AccessReviewDefaultSettingsOperationGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-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.accessReviewDefaultSettingsOperations().getWithResponse(Context.NONE);
+ }
+}
+```
+
+### AccessReviewDefaultSettingsOperation_Put
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+
+/** Samples for AccessReviewDefaultSettingsOperation Put. */
+public final class AccessReviewDefaultSettingsOperationPutSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/PutAccessReviewDefaultSettings.json
+ */
+ /**
+ * Sample code: PutAccessReviewDefaultSettings.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void putAccessReviewDefaultSettings(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewDefaultSettingsOperations()
+ .putWithResponse(new AccessReviewScheduleSettings(), Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceDecisions_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceDecisions List. */
+public final class AccessReviewInstanceDecisionsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceDecisions.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstanceDecisions.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstanceDecisions(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceDecisions()
+ .list("265785a7-a81f-4201-8a18-bb0db95982b7", "f25ed880-9c31-4101-bc57-825d8df3b58c", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceMyDecisions_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceMyDecisions GetById. */
+public final class AccessReviewInstanceMyDecisionsGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstanceMyDecisionById.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstanceMyDecisionById(
+ 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",
+ Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceMyDecisions_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceMyDecisions List. */
+public final class AccessReviewInstanceMyDecisionsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisions.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstanceMyDecisions.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstanceMyDecisions(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceMyDecisions()
+ .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceMyDecisions_Patch
+
+```java
+import com.azure.core.util.Context;
+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/2018-05-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json
+ */
+ /**
+ * Sample code: PatchAccessReviewInstanceMyDecisionById.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void patchAccessReviewInstanceMyDecisionById(
+ 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(),
+ Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceOperation_AcceptRecommendations
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */
+public final class AccessReviewInstanceOperationAcceptRecommendationsSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json
+ */
+ /**
+ * Sample code: AccessReviewInstanceAcceptRecommendations.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void accessReviewInstanceAcceptRecommendations(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceOperations()
+ .acceptRecommendationsWithResponse(
+ "488a6d0e-0a63-4946-86e3-1f5bbc934661", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceOperation_ApplyDecisions
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceOperation ApplyDecisions. */
+public final class AccessReviewInstanceOperationApplyDecisionsSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceApplyDecisions.json
+ */
+ /**
+ * Sample code: AccessReviewInstanceApplyDecisions.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void accessReviewInstanceApplyDecisions(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceOperations()
+ .applyDecisionsWithResponse(
+ "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceOperation_ResetDecisions
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceOperation ResetDecisions. */
+public final class AccessReviewInstanceOperationResetDecisionsSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceResetDecisions.json
+ */
+ /**
+ * Sample code: AccessReviewInstanceResetDecisions.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void accessReviewInstanceResetDecisions(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceOperations()
+ .resetDecisionsWithResponse(
+ "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceOperation_SendReminders
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceOperation SendReminders. */
+public final class AccessReviewInstanceOperationSendRemindersSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceSendReminders.json
+ */
+ /**
+ * Sample code: AccessReviewInstanceSendReminders.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void accessReviewInstanceSendReminders(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceOperations()
+ .sendRemindersWithResponse(
+ "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstanceOperation_Stop
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstanceOperation Stop. */
+public final class AccessReviewInstanceOperationStopSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewInstance.json
+ */
+ /**
+ * Sample code: StopAccessReviewInstance.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void stopAccessReviewInstance(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstanceOperations()
+ .stopWithResponse(
+ "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstances_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstances GetById. */
+public final class AccessReviewInstancesGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstance.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstance.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstance(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstances()
+ .getByIdWithResponse(
+ "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstances_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstances List. */
+public final class AccessReviewInstancesListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstances.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstances.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstances(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.accessReviewInstances().list("265785a7-a81f-4201-8a18-bb0db95982b7", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstancesAssignedForMyApproval_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */
+public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstanceAssignedForMyApproval.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstanceAssignedForMyApproval(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstancesAssignedForMyApprovals()
+ .getByIdWithResponse(
+ "488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE);
+ }
+}
+```
+
+### AccessReviewInstancesAssignedForMyApproval_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewInstancesAssignedForMyApproval List. */
+public final class AccessReviewInstancesAssignedForMyApprovalListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json
+ */
+ /**
+ * Sample code: GetAccessReviewInstancesAssignedForMyApproval.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewInstancesAssignedForMyApproval(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewInstancesAssignedForMyApprovals()
+ .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", Context.NONE);
+ }
+}
+```
+
+### AccessReviewScheduleDefinitions_CreateOrUpdateById
+
+```java
+/** Samples for AccessReviewScheduleDefinitions CreateOrUpdateById. */
+public final class AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-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.accessReviewScheduleDefinitions().define("fa73e90b-5bf1-45fd-a182-35ce5fc0674d").create();
+ }
+}
+```
+
+### AccessReviewScheduleDefinitions_DeleteById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewScheduleDefinitions DeleteById. */
+public final class AccessReviewScheduleDefinitionsDeleteByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-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
+ .accessReviewScheduleDefinitions()
+ .deleteByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE);
+ }
+}
+```
+
+### AccessReviewScheduleDefinitions_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewScheduleDefinitions GetById. */
+public final class AccessReviewScheduleDefinitionsGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinition.json
+ */
+ /**
+ * Sample code: GetAccessReviewScheduleDefinition.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewScheduleDefinition(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewScheduleDefinitions()
+ .getByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE);
+ }
+}
+```
+
+### AccessReviewScheduleDefinitions_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewScheduleDefinitions List. */
+public final class AccessReviewScheduleDefinitionsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitions.json
+ */
+ /**
+ * Sample code: GetAccessReviewScheduleDefinitions.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewScheduleDefinitions(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.accessReviewScheduleDefinitions().list(Context.NONE);
+ }
+}
+```
+
+### AccessReviewScheduleDefinitions_Stop
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewScheduleDefinitions Stop. */
+public final class AccessReviewScheduleDefinitionsStopSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewScheduleDefinition.json
+ */
+ /**
+ * Sample code: StopAccessReviewScheduleDefinition.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void stopAccessReviewScheduleDefinition(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .accessReviewScheduleDefinitions()
+ .stopWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE);
+ }
+}
+```
+
+### AccessReviewScheduleDefinitionsAssignedForMyApproval_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */
+public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json
+ */
+ /**
+ * Sample code: GetAccessReviewScheduleDefinitionsAssignedForMyApproval.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getAccessReviewScheduleDefinitionsAssignedForMyApproval(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.accessReviewScheduleDefinitionsAssignedForMyApprovals().list(Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments Get. */
+public final class DenyAssignmentsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByNameId.json
+ */
+ /**
+ * Sample code: Get deny assignment by name.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getDenyAssignmentByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .denyAssignments()
+ .getWithResponse("subscriptions/subId/resourcegroups/rgname", "denyAssignmentId", Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments GetById. */
+public final class DenyAssignmentsGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentById.json
+ */
+ /**
+ * Sample code: Get deny assignment by ID.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getDenyAssignmentByID(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .denyAssignments()
+ .getByIdWithResponse(
+ "subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/denyAssignments/daId",
+ Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments List. */
+public final class DenyAssignmentsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetAllDenyAssignments.json
+ */
+ /**
+ * Sample code: List deny assignments for subscription.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listDenyAssignmentsForSubscription(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.denyAssignments().list(null, Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments ListByResourceGroup. */
+public final class DenyAssignmentsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResourceGroup.json
+ */
+ /**
+ * Sample code: List deny assignments for resource group.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listDenyAssignmentsForResourceGroup(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.denyAssignments().listByResourceGroup("rgname", null, Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_ListForResource
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments ListForResource. */
+public final class DenyAssignmentsListForResourceSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResource.json
+ */
+ /**
+ * Sample code: List deny assignments for resource.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listDenyAssignmentsForResource(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .denyAssignments()
+ .listForResource(
+ "rgname",
+ "resourceProviderNamespace",
+ "parentResourcePath",
+ "resourceType",
+ "resourceName",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### DenyAssignments_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for DenyAssignments ListForScope. */
+public final class DenyAssignmentsListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByScope.json
+ */
+ /**
+ * Sample code: List deny assignments for scope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listDenyAssignmentsForScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.denyAssignments().listForScope("subscriptions/subId", null, Context.NONE);
+ }
+}
+```
+
+### EligibleChildResources_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for EligibleChildResources Get. */
+public final class EligibleChildResourcesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json
+ */
+ /**
+ * Sample code: GetEligibleChildResourcesByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getEligibleChildResourcesByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .eligibleChildResources()
+ .get(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "resourceType+eq+'resourcegroup'",
+ Context.NONE);
+ }
+}
+```
+
+### Permissions_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Permissions ListByResourceGroup. */
+public final class PermissionsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json
+ */
+ /**
+ * Sample code: List permissions for resource group.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listPermissionsForResourceGroup(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.permissions().listByResourceGroup("rgname", Context.NONE);
+ }
+}
+```
+
+### Permissions_ListForResource
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Permissions ListForResource. */
+public final class PermissionsListForResourceSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json
+ */
+ /**
+ * Sample code: List permissions for resource.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listPermissionsForResource(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .permissions()
+ .listForResource(
+ "rgname", "rpnamespace", "parentResourcePath", "resourceType", "resourceName", Context.NONE);
+ }
+}
+```
+
+### ProviderOperationsMetadata_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ProviderOperationsMetadata Get. */
+public final class ProviderOperationsMetadataGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json
+ */
+ /**
+ * Sample code: List provider operations metadata for resource provider.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listProviderOperationsMetadataForResourceProvider(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.providerOperationsMetadatas().getWithResponse("resourceProviderNamespace", null, Context.NONE);
+ }
+}
+```
+
+### ProviderOperationsMetadata_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for ProviderOperationsMetadata List. */
+public final class ProviderOperationsMetadataListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json
+ */
+ /**
+ * Sample code: List provider operations metadata for all resource providers.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listProviderOperationsMetadataForAllResourceProviders(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.providerOperationsMetadatas().list(null, Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentMetrics_GetMetricsForSubscription
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentMetrics GetMetricsForSubscription. */
+public final class RoleAssignmentMetricsGetMetricsForSubscriptionSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2019-08-01-preview/examples/RoleAssignmentMetrics_GetForSubscription.json
+ */
+ /**
+ * Sample code: Get role assignment metrics for subscription.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentMetricsForSubscription(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleAssignmentMetrics().getMetricsForSubscriptionWithResponse(Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentScheduleInstances_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentScheduleInstances Get. */
+public final class RoleAssignmentScheduleInstancesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentScheduleInstanceByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentScheduleInstanceByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleInstances()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "ed9b8180-cef7-4c77-a63c-b8566ecfc412",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentScheduleInstances_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentScheduleInstances ListForScope. */
+public final class RoleAssignmentScheduleInstancesListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentScheduleInstancesByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentScheduleInstancesByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleInstances()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentScheduleRequests_Cancel
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentScheduleRequests Cancel. */
+public final class RoleAssignmentScheduleRequestsCancelSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json
+ */
+ /**
+ * Sample code: CancelRoleAssignmentScheduleRequestByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void cancelRoleAssignmentScheduleRequestByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleRequests()
+ .cancelWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "fea7a502-9a96-4806-a26f-eee560e52045",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentScheduleRequests_Create
+
+```java
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration;
+import com.azure.resourcemanager.authorization.generated.models.Type;
+import java.time.OffsetDateTime;
+
+/** Samples for RoleAssignmentScheduleRequests Create. */
+public final class RoleAssignmentScheduleRequestsCreateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json
+ */
+ /**
+ * Sample code: PutRoleAssignmentScheduleRequest.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void putRoleAssignmentScheduleRequest(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleRequests()
+ .define("fea7a502-9a96-4806-a26f-eee560e52045")
+ .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f")
+ .withRoleDefinitionId(
+ "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608")
+ .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea")
+ .withRequestType(RequestType.SELF_ACTIVATE)
+ .withScheduleInfo(
+ new RoleAssignmentScheduleRequestPropertiesScheduleInfo()
+ .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:35:27.91Z"))
+ .withExpiration(
+ new RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration()
+ .withType(Type.AFTER_DURATION)
+ .withDuration("PT8H")))
+ .withLinkedRoleEligibilityScheduleId("b1477448-2cc6-4ceb-93b4-54a202a89413")
+ .withCondition(
+ "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]"
+ + " StringEqualsIgnoreCase 'foo_storage_container'")
+ .withConditionVersion("1.0")
+ .create();
+ }
+}
+```
+
+### RoleAssignmentScheduleRequests_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentScheduleRequests Get. */
+public final class RoleAssignmentScheduleRequestsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentScheduleRequestByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentScheduleRequestByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleRequests()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "fea7a502-9a96-4806-a26f-eee560e52045",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentScheduleRequests_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentScheduleRequests ListForScope. */
+public final class RoleAssignmentScheduleRequestsListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentScheduleRequestByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentScheduleRequestByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentScheduleRequests()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentSchedules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentSchedules Get. */
+public final class RoleAssignmentSchedulesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentScheduleByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentScheduleByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentSchedules()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "c9e264ff-3133-4776-a81a-ebc7c33c8ec6",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignmentSchedules_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignmentSchedules ListForScope. */
+public final class RoleAssignmentSchedulesListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json
+ */
+ /**
+ * Sample code: GetRoleAssignmentSchedulesByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentSchedulesByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignmentSchedules()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_Create
+
+```java
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+
+/** Samples for RoleAssignments Create. */
+public final class RoleAssignmentsCreateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json
+ */
+ /**
+ * Sample code: Create role assignment for subscription.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void createRoleAssignmentForSubscription(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .define("05c5a614-a7d6-4502-b150-c2fb455033ff")
+ .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2")
+ .withRoleDefinitionId(
+ "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER)
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json
+ */
+ /**
+ * Sample code: Create role assignment for resource group.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void createRoleAssignmentForResourceGroup(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .define("05c5a614-a7d6-4502-b150-c2fb455033ff")
+ .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg")
+ .withRoleDefinitionId(
+ "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER)
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json
+ */
+ /**
+ * Sample code: Create role assignment for resource.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void createRoleAssignmentForResource(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .define("05c5a614-a7d6-4502-b150-c2fb455033ff")
+ .withExistingScope(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account")
+ .withRoleDefinitionId(
+ "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER)
+ .create();
+ }
+}
+```
+
+### RoleAssignments_CreateById
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters;
+
+/** Samples for RoleAssignments CreateById. */
+public final class RoleAssignmentsCreateByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateById.json
+ */
+ /**
+ * Sample code: Create or update role assignment by ID.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void createOrUpdateRoleAssignmentByID(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .createByIdWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ new RoleAssignmentCreateParameters()
+ .withRoleDefinitionId(
+ "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER),
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments Delete. */
+public final class RoleAssignmentsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Delete.json
+ */
+ /**
+ * Sample code: Delete role assignment.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void deleteRoleAssignment(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .deleteWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_DeleteById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments DeleteById. */
+public final class RoleAssignmentsDeleteByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_DeleteById.json
+ */
+ /**
+ * Sample code: Delete role assignment by ID.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void deleteRoleAssignmentByID(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .deleteByIdWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments Get. */
+public final class RoleAssignmentsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Get.json
+ */
+ /**
+ * Sample code: Get role assignment by scope and name.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentByScopeAndName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .getWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "b0f43c54-e787-4862-89b1-a653fa9cf747",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments GetById. */
+public final class RoleAssignmentsGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_GetById.json
+ */
+ /**
+ * Sample code: Get role assignment by ID.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleAssignmentByID(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .getByIdWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ null,
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments List. */
+public final class RoleAssignmentsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json
+ */
+ /**
+ * Sample code: List role assignments for subscription.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listRoleAssignmentsForSubscription(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleAssignments().list(null, null, Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments ListByResourceGroup. */
+public final class RoleAssignmentsListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json
+ */
+ /**
+ * Sample code: List role assignments for resource group.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listRoleAssignmentsForResourceGroup(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleAssignments().listByResourceGroup("testrg", null, null, Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_ListForResource
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments ListForResource. */
+public final class RoleAssignmentsListForResourceSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResource.json
+ */
+ /**
+ * Sample code: List role assignments for a resource.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listRoleAssignmentsForAResource(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .listForResource(
+ "testrg", "Microsoft.DocumentDb", "databaseAccounts", "test-db-account", null, null, Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleAssignments ListForScope. */
+public final class RoleAssignmentsListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForScope.json
+ */
+ /**
+ * Sample code: List role assignments for scope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listRoleAssignmentsForScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .listForScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", null, null, Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_Validate
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters;
+
+/** Samples for RoleAssignments Validate. */
+public final class RoleAssignmentsValidateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json
+ */
+ /**
+ * Sample code: Validate a role assignment create or update operation with failed validation.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void validateARoleAssignmentCreateOrUpdateOperationWithFailedValidation(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .validateWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ new RoleAssignmentCreateParameters()
+ .withRoleDefinitionId(
+ "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json
+ */
+ /**
+ * Sample code: Validate a role assignment create or update operation with successful validation.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void validateARoleAssignmentCreateOrUpdateOperationWithSuccessfulValidation(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .validateWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2",
+ "05c5a614-a7d6-4502-b150-c2fb455033ff",
+ new RoleAssignmentCreateParameters()
+ .withRoleDefinitionId(
+ "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER),
+ Context.NONE);
+ }
+}
+```
+
+### RoleAssignments_ValidateById
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters;
+
+/** Samples for RoleAssignments ValidateById. */
+public final class RoleAssignmentsValidateByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json
+ */
+ /**
+ * Sample code: Validate a role assignment create or update operation by ID with failed validation.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithFailedValidation(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .validateByIdWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ new RoleAssignmentCreateParameters()
+ .withRoleDefinitionId(
+ "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json
+ */
+ /**
+ * Sample code: Validate a role assignment create or update operation by ID with successful validation.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithSuccessfulValidation(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleAssignments()
+ .validateByIdWithResponse(
+ "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747",
+ new RoleAssignmentCreateParameters()
+ .withRoleDefinitionId(
+ "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d")
+ .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987")
+ .withPrincipalType(PrincipalType.USER),
+ Context.NONE);
+ }
+}
+```
+
+### RoleDefinitions_CreateOrUpdate
+
+```java
+/** Samples for RoleDefinitions CreateOrUpdate. */
+public final class RoleDefinitionsCreateOrUpdateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json
+ */
+ /**
+ * Sample code: Create role definition.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void createRoleDefinition(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleDefinitions().define("roleDefinitionId").withExistingScope("scope").create();
+ }
+}
+```
+
+### RoleDefinitions_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleDefinitions Delete. */
+public final class RoleDefinitionsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json
+ */
+ /**
+ * Sample code: Delete role definition.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void deleteRoleDefinition(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleDefinitions().deleteWithResponse("scope", "roleDefinitionId", Context.NONE);
+ }
+}
+```
+
+### RoleDefinitions_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleDefinitions Get. */
+public final class RoleDefinitionsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json
+ */
+ /**
+ * Sample code: Get role definition by name.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleDefinitionByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleDefinitions().getWithResponse("scope", "roleDefinitionId", Context.NONE);
+ }
+}
+```
+
+### RoleDefinitions_GetById
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleDefinitions GetById. */
+public final class RoleDefinitionsGetByIdSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json
+ */
+ /**
+ * Sample code: Get role definition by ID.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleDefinitionByID(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleDefinitions().getByIdWithResponse("roleDefinitionId", Context.NONE);
+ }
+}
+```
+
+### RoleDefinitions_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleDefinitions List. */
+public final class RoleDefinitionsListSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json
+ */
+ /**
+ * Sample code: List role definition for scope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void listRoleDefinitionForScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager.roleDefinitions().list("scope", null, Context.NONE);
+ }
+}
+```
+
+### RoleEligibilityScheduleInstances_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilityScheduleInstances Get. */
+public final class RoleEligibilityScheduleInstancesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json
+ */
+ /**
+ * Sample code: GetRoleEligibilityScheduleInstanceByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilityScheduleInstanceByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleInstances()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "21e4b59a-0499-4fe0-a3c3-43a3055b773a",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilityScheduleInstances_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilityScheduleInstances ListForScope. */
+public final class RoleEligibilityScheduleInstancesListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json
+ */
+ /**
+ * Sample code: GetRoleEligibilityScheduleInstancesByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilityScheduleInstancesByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleInstances()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilityScheduleRequests_Cancel
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilityScheduleRequests Cancel. */
+public final class RoleEligibilityScheduleRequestsCancelSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json
+ */
+ /**
+ * Sample code: CancelRoleEligibilityScheduleRequestByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void cancelRoleEligibilityScheduleRequestByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleRequests()
+ .cancelWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilityScheduleRequests_Create
+
+```java
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration;
+import com.azure.resourcemanager.authorization.generated.models.Type;
+import java.time.OffsetDateTime;
+
+/** Samples for RoleEligibilityScheduleRequests Create. */
+public final class RoleEligibilityScheduleRequestsCreateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json
+ */
+ /**
+ * Sample code: PutRoleEligibilityScheduleRequest.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void putRoleEligibilityScheduleRequest(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleRequests()
+ .define("64caffb6-55c0-4deb-a585-68e948ea1ad6")
+ .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f")
+ .withRoleDefinitionId(
+ "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608")
+ .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea")
+ .withRequestType(RequestType.ADMIN_ASSIGN)
+ .withScheduleInfo(
+ new RoleEligibilityScheduleRequestPropertiesScheduleInfo()
+ .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:31:27.91Z"))
+ .withExpiration(
+ new RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration()
+ .withType(Type.AFTER_DURATION)
+ .withDuration("P365D")))
+ .withCondition(
+ "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]"
+ + " StringEqualsIgnoreCase 'foo_storage_container'")
+ .withConditionVersion("1.0")
+ .create();
+ }
+}
+```
+
+### RoleEligibilityScheduleRequests_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilityScheduleRequests Get. */
+public final class RoleEligibilityScheduleRequestsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json
+ */
+ /**
+ * Sample code: GetRoleEligibilityScheduleRequestByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilityScheduleRequestByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleRequests()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "64caffb6-55c0-4deb-a585-68e948ea1ad6",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilityScheduleRequests_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilityScheduleRequests ListForScope. */
+public final class RoleEligibilityScheduleRequestsListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json
+ */
+ /**
+ * Sample code: GetRoleEligibilityScheduleRequestByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilityScheduleRequestByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilityScheduleRequests()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilitySchedules_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilitySchedules Get. */
+public final class RoleEligibilitySchedulesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json
+ */
+ /**
+ * Sample code: GetRoleEligibilityScheduleByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilityScheduleByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilitySchedules()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "b1477448-2cc6-4ceb-93b4-54a202a89413",
+ Context.NONE);
+ }
+}
+```
+
+### RoleEligibilitySchedules_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleEligibilitySchedules ListForScope. */
+public final class RoleEligibilitySchedulesListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json
+ */
+ /**
+ * Sample code: GetRoleEligibilitySchedulesByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleEligibilitySchedulesByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleEligibilitySchedules()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f",
+ "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')",
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicies_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicies Delete. */
+public final class RoleManagementPoliciesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json
+ */
+ /**
+ * Sample code: DeleteRoleManagementPolicy.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void deleteRoleManagementPolicy(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicies()
+ .deleteWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicies_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicies Get. */
+public final class RoleManagementPoliciesGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json
+ */
+ /**
+ * Sample code: GetRoleManagementPolicyByName.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleManagementPolicyByName(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicies()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicies_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicies ListForScope. */
+public final class RoleManagementPoliciesListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json
+ */
+ /**
+ * Sample code: GetRoleManagementPolicyByRoleDefinitionFilter.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleManagementPolicyByRoleDefinitionFilter(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicies()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicies_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner;
+import com.azure.resourcemanager.authorization.generated.models.ApprovalMode;
+import com.azure.resourcemanager.authorization.generated.models.ApprovalSettings;
+import com.azure.resourcemanager.authorization.generated.models.ApprovalStage;
+import com.azure.resourcemanager.authorization.generated.models.EnablementRules;
+import com.azure.resourcemanager.authorization.generated.models.NotificationDeliveryMechanism;
+import com.azure.resourcemanager.authorization.generated.models.NotificationLevel;
+import com.azure.resourcemanager.authorization.generated.models.RecipientType;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyApprovalRule;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAuthenticationContextRule;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyEnablementRule;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyExpirationRule;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyNotificationRule;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRuleTarget;
+import com.azure.resourcemanager.authorization.generated.models.UserSet;
+import com.azure.resourcemanager.authorization.generated.models.UserType;
+import java.util.Arrays;
+
+/** Samples for RoleManagementPolicies Update. */
+public final class RoleManagementPoliciesUpdateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json
+ */
+ /**
+ * Sample code: PatchPartialRoleManagementPolicy.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void patchPartialRoleManagementPolicy(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicies()
+ .updateWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ new RoleManagementPolicyInner()
+ .withRules(
+ Arrays
+ .asList(
+ new RoleManagementPolicyExpirationRule()
+ .withId("Expiration_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withIsExpirationRequired(false)
+ .withMaximumDuration("P180D"),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Admin_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.ADMIN)
+ .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com"))
+ .withIsDefaultRecipientsEnabled(false))),
+ Context.NONE);
+ }
+
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json
+ */
+ /**
+ * Sample code: PatchRoleManagementPolicy.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void patchRoleManagementPolicy(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicies()
+ .updateWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "570c3619-7688-4b34-b290-2b8bb3ccab2a",
+ new RoleManagementPolicyInner()
+ .withRules(
+ Arrays
+ .asList(
+ new RoleManagementPolicyExpirationRule()
+ .withId("Expiration_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withIsExpirationRequired(false)
+ .withMaximumDuration("P180D"),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Admin_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.ADMIN)
+ .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Requestor_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.REQUESTOR)
+ .withNotificationRecipients(Arrays.asList("requestor_admin_eligible@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Approver_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.APPROVER)
+ .withNotificationRecipients(Arrays.asList("approver_admin_eligible@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyEnablementRule()
+ .withId("Enablement_Admin_Eligibility")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Eligibility"))
+ .withEnabledRules(Arrays.asList()),
+ new RoleManagementPolicyExpirationRule()
+ .withId("Expiration_Admin_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withIsExpirationRequired(false)
+ .withMaximumDuration("P90D"),
+ new RoleManagementPolicyEnablementRule()
+ .withId("Enablement_Admin_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withEnabledRules(
+ Arrays
+ .asList(
+ EnablementRules.JUSTIFICATION,
+ EnablementRules.MULTI_FACTOR_AUTHENTICATION)),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Admin_Admin_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.ADMIN)
+ .withNotificationRecipients(Arrays.asList("admin_admin_member@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Requestor_Admin_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.REQUESTOR)
+ .withNotificationRecipients(Arrays.asList("requestor_admin_member@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Approver_Admin_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("Admin")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.APPROVER)
+ .withNotificationRecipients(Arrays.asList("approver_admin_member@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyExpirationRule()
+ .withId("Expiration_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withIsExpirationRequired(true)
+ .withMaximumDuration("PT7H"),
+ new RoleManagementPolicyEnablementRule()
+ .withId("Enablement_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withEnabledRules(
+ Arrays
+ .asList(
+ EnablementRules.JUSTIFICATION,
+ EnablementRules.MULTI_FACTOR_AUTHENTICATION,
+ EnablementRules.TICKETING)),
+ new RoleManagementPolicyApprovalRule()
+ .withId("Approval_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withSetting(
+ new ApprovalSettings()
+ .withIsApprovalRequired(true)
+ .withIsApprovalRequiredForExtension(false)
+ .withIsRequestorJustificationRequired(true)
+ .withApprovalMode(ApprovalMode.SINGLE_STAGE)
+ .withApprovalStages(
+ Arrays
+ .asList(
+ new ApprovalStage()
+ .withApprovalStageTimeOutInDays(1)
+ .withIsApproverJustificationRequired(true)
+ .withEscalationTimeInMinutes(0)
+ .withPrimaryApprovers(
+ Arrays
+ .asList(
+ new UserSet()
+ .withUserType(UserType.GROUP)
+ .withIsBackup(false)
+ .withId(
+ "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd")
+ .withDescription("amansw_new_group"),
+ new UserSet()
+ .withUserType(UserType.GROUP)
+ .withIsBackup(false)
+ .withId(
+ "2f4913c9-d15b-406a-9946-1d66a28f2690")
+ .withDescription("amansw_group")))
+ .withIsEscalationEnabled(false)))),
+ new RoleManagementPolicyAuthenticationContextRule()
+ .withId("AuthenticationContext_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withIsEnabled(false)
+ .withClaimValue(""),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Admin_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.ADMIN)
+ .withNotificationRecipients(Arrays.asList("admin_enduser_member@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Requestor_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.REQUESTOR)
+ .withNotificationRecipients(Arrays.asList("requestor_enduser_member@test.com"))
+ .withIsDefaultRecipientsEnabled(false),
+ new RoleManagementPolicyNotificationRule()
+ .withId("Notification_Approver_EndUser_Assignment")
+ .withTarget(
+ new RoleManagementPolicyRuleTarget()
+ .withCaller("EndUser")
+ .withOperations(Arrays.asList("All"))
+ .withLevel("Assignment"))
+ .withNotificationType(NotificationDeliveryMechanism.EMAIL)
+ .withNotificationLevel(NotificationLevel.CRITICAL)
+ .withRecipientType(RecipientType.APPROVER)
+ .withIsDefaultRecipientsEnabled(true))),
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicyAssignments_Create
+
+```java
+/** Samples for RoleManagementPolicyAssignments Create. */
+public final class RoleManagementPolicyAssignmentsCreateSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json
+ */
+ /**
+ * Sample code: PutRoleManagementPolicyAssignment.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void putRoleManagementPolicyAssignment(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicyAssignments()
+ .define("b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24")
+ .withExistingScope("providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368")
+ .withScope("/subscriptions/129ff972-28f8-46b8-a726-e497be039368")
+ .withRoleDefinitionId(
+ "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24")
+ .withPolicyId(
+ "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9")
+ .create();
+ }
+}
+```
+
+### RoleManagementPolicyAssignments_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicyAssignments Delete. */
+public final class RoleManagementPolicyAssignmentsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json
+ */
+ /**
+ * Sample code: DeleteRoleManagementPolicyAssignment.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void deleteRoleManagementPolicyAssignment(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicyAssignments()
+ .deleteWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicyAssignments_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicyAssignments Get. */
+public final class RoleManagementPolicyAssignmentsGetSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json
+ */
+ /**
+ * Sample code: GetConfigurations.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getConfigurations(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicyAssignments()
+ .getWithResponse(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368",
+ "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24",
+ Context.NONE);
+ }
+}
+```
+
+### RoleManagementPolicyAssignments_ListForScope
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for RoleManagementPolicyAssignments ListForScope. */
+public final class RoleManagementPolicyAssignmentsListForScopeSamples {
+ /*
+ * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json
+ */
+ /**
+ * Sample code: GetRoleManagementPolicyAssignmentByScope.
+ *
+ * @param manager Entry point to AuthorizationManager.
+ */
+ public static void getRoleManagementPolicyAssignmentByScope(
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) {
+ manager
+ .roleManagementPolicyAssignments()
+ .listForScope(
+ "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", 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 000000000000..473248ed2d10
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml
@@ -0,0 +1,86 @@
+
+ 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-2020-10-01-preview.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.21.0
+
+
+ com.azure
+ azure-core-management
+ 1.4.2
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
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 000000000000..3c08862f0957
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java
@@ -0,0 +1,527 @@
+// Copyright (c) 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.policy.AddDatePolicy;
+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.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.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.AuthorizationManagementClientBuilder;
+import com.azure.resourcemanager.authorization.generated.implementation.DenyAssignmentsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.EligibleChildResourcesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.PermissionsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.ProviderOperationsMetadatasImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentMetricsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleInstancesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleRequestsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentSchedulesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleDefinitionsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleInstancesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleRequestsImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilitySchedulesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPoliciesImpl;
+import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPolicyAssignmentsImpl;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations;
+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.DenyAssignments;
+import com.azure.resourcemanager.authorization.generated.models.EligibleChildResources;
+import com.azure.resourcemanager.authorization.generated.models.Operations;
+import com.azure.resourcemanager.authorization.generated.models.Permissions;
+import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadatas;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetrics;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstances;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequests;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedules;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignments;
+import com.azure.resourcemanager.authorization.generated.models.RoleDefinitions;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstances;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequests;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedules;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicies;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignments;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 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 AccessReviewScheduleDefinitions accessReviewScheduleDefinitions;
+
+ private AccessReviewInstances accessReviewInstances;
+
+ private AccessReviewInstanceOperations accessReviewInstanceOperations;
+
+ private AccessReviewInstanceDecisions accessReviewInstanceDecisions;
+
+ private AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations;
+
+ private AccessReviewScheduleDefinitionsAssignedForMyApprovals accessReviewScheduleDefinitionsAssignedForMyApprovals;
+
+ private AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals;
+
+ private AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions;
+
+ private DenyAssignments denyAssignments;
+
+ private ProviderOperationsMetadatas providerOperationsMetadatas;
+
+ private RoleAssignments roleAssignments;
+
+ private Permissions permissions;
+
+ private RoleDefinitions roleDefinitions;
+
+ private RoleAssignmentMetrics roleAssignmentMetrics;
+
+ private EligibleChildResources eligibleChildResources;
+
+ private RoleAssignmentSchedules roleAssignmentSchedules;
+
+ private RoleAssignmentScheduleInstances roleAssignmentScheduleInstances;
+
+ private RoleAssignmentScheduleRequests roleAssignmentScheduleRequests;
+
+ private RoleEligibilitySchedules roleEligibilitySchedules;
+
+ private RoleEligibilityScheduleInstances roleEligibilityScheduleInstances;
+
+ private RoleEligibilityScheduleRequests roleEligibilityScheduleRequests;
+
+ private RoleManagementPolicies roleManagementPolicies;
+
+ private RoleManagementPolicyAssignments roleManagementPolicyAssignments;
+
+ 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);
+ }
+
+ /**
+ * 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 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 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 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, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' 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) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies);
+ 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);
+ }
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of AccessReviewScheduleDefinitions. */
+ public AccessReviewScheduleDefinitions accessReviewScheduleDefinitions() {
+ if (this.accessReviewScheduleDefinitions == null) {
+ this.accessReviewScheduleDefinitions =
+ new AccessReviewScheduleDefinitionsImpl(clientObject.getAccessReviewScheduleDefinitions(), this);
+ }
+ return accessReviewScheduleDefinitions;
+ }
+
+ /** @return Resource collection API of AccessReviewInstances. */
+ public AccessReviewInstances accessReviewInstances() {
+ if (this.accessReviewInstances == null) {
+ this.accessReviewInstances = new AccessReviewInstancesImpl(clientObject.getAccessReviewInstances(), this);
+ }
+ return accessReviewInstances;
+ }
+
+ /** @return Resource collection API of AccessReviewInstanceOperations. */
+ public AccessReviewInstanceOperations accessReviewInstanceOperations() {
+ if (this.accessReviewInstanceOperations == null) {
+ this.accessReviewInstanceOperations =
+ new AccessReviewInstanceOperationsImpl(clientObject.getAccessReviewInstanceOperations(), this);
+ }
+ return accessReviewInstanceOperations;
+ }
+
+ /** @return Resource collection API of AccessReviewInstanceDecisions. */
+ public AccessReviewInstanceDecisions accessReviewInstanceDecisions() {
+ if (this.accessReviewInstanceDecisions == null) {
+ this.accessReviewInstanceDecisions =
+ new AccessReviewInstanceDecisionsImpl(clientObject.getAccessReviewInstanceDecisions(), this);
+ }
+ return accessReviewInstanceDecisions;
+ }
+
+ /** @return Resource collection API of AccessReviewDefaultSettingsOperations. */
+ public AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations() {
+ if (this.accessReviewDefaultSettingsOperations == null) {
+ this.accessReviewDefaultSettingsOperations =
+ new AccessReviewDefaultSettingsOperationsImpl(
+ clientObject.getAccessReviewDefaultSettingsOperations(), this);
+ }
+ return accessReviewDefaultSettingsOperations;
+ }
+
+ /** @return Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. */
+ public AccessReviewScheduleDefinitionsAssignedForMyApprovals
+ accessReviewScheduleDefinitionsAssignedForMyApprovals() {
+ if (this.accessReviewScheduleDefinitionsAssignedForMyApprovals == null) {
+ this.accessReviewScheduleDefinitionsAssignedForMyApprovals =
+ new AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl(
+ clientObject.getAccessReviewScheduleDefinitionsAssignedForMyApprovals(), this);
+ }
+ return accessReviewScheduleDefinitionsAssignedForMyApprovals;
+ }
+
+ /** @return Resource collection API of AccessReviewInstancesAssignedForMyApprovals. */
+ public AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals() {
+ if (this.accessReviewInstancesAssignedForMyApprovals == null) {
+ this.accessReviewInstancesAssignedForMyApprovals =
+ new AccessReviewInstancesAssignedForMyApprovalsImpl(
+ clientObject.getAccessReviewInstancesAssignedForMyApprovals(), this);
+ }
+ return accessReviewInstancesAssignedForMyApprovals;
+ }
+
+ /** @return Resource collection API of AccessReviewInstanceMyDecisions. */
+ public AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions() {
+ if (this.accessReviewInstanceMyDecisions == null) {
+ this.accessReviewInstanceMyDecisions =
+ new AccessReviewInstanceMyDecisionsImpl(clientObject.getAccessReviewInstanceMyDecisions(), this);
+ }
+ return accessReviewInstanceMyDecisions;
+ }
+
+ /** @return Resource collection API of DenyAssignments. */
+ public DenyAssignments denyAssignments() {
+ if (this.denyAssignments == null) {
+ this.denyAssignments = new DenyAssignmentsImpl(clientObject.getDenyAssignments(), this);
+ }
+ return denyAssignments;
+ }
+
+ /** @return Resource collection API of ProviderOperationsMetadatas. */
+ public ProviderOperationsMetadatas providerOperationsMetadatas() {
+ if (this.providerOperationsMetadatas == null) {
+ this.providerOperationsMetadatas =
+ new ProviderOperationsMetadatasImpl(clientObject.getProviderOperationsMetadatas(), this);
+ }
+ return providerOperationsMetadatas;
+ }
+
+ /** @return Resource collection API of RoleAssignments. */
+ public RoleAssignments roleAssignments() {
+ if (this.roleAssignments == null) {
+ this.roleAssignments = new RoleAssignmentsImpl(clientObject.getRoleAssignments(), this);
+ }
+ return roleAssignments;
+ }
+
+ /** @return Resource collection API of Permissions. */
+ public Permissions permissions() {
+ if (this.permissions == null) {
+ this.permissions = new PermissionsImpl(clientObject.getPermissions(), this);
+ }
+ return permissions;
+ }
+
+ /** @return Resource collection API of RoleDefinitions. */
+ public RoleDefinitions roleDefinitions() {
+ if (this.roleDefinitions == null) {
+ this.roleDefinitions = new RoleDefinitionsImpl(clientObject.getRoleDefinitions(), this);
+ }
+ return roleDefinitions;
+ }
+
+ /** @return Resource collection API of RoleAssignmentMetrics. */
+ public RoleAssignmentMetrics roleAssignmentMetrics() {
+ if (this.roleAssignmentMetrics == null) {
+ this.roleAssignmentMetrics = new RoleAssignmentMetricsImpl(clientObject.getRoleAssignmentMetrics(), this);
+ }
+ return roleAssignmentMetrics;
+ }
+
+ /** @return Resource collection API of EligibleChildResources. */
+ public EligibleChildResources eligibleChildResources() {
+ if (this.eligibleChildResources == null) {
+ this.eligibleChildResources =
+ new EligibleChildResourcesImpl(clientObject.getEligibleChildResources(), this);
+ }
+ return eligibleChildResources;
+ }
+
+ /** @return Resource collection API of RoleAssignmentSchedules. */
+ public RoleAssignmentSchedules roleAssignmentSchedules() {
+ if (this.roleAssignmentSchedules == null) {
+ this.roleAssignmentSchedules =
+ new RoleAssignmentSchedulesImpl(clientObject.getRoleAssignmentSchedules(), this);
+ }
+ return roleAssignmentSchedules;
+ }
+
+ /** @return Resource collection API of RoleAssignmentScheduleInstances. */
+ public RoleAssignmentScheduleInstances roleAssignmentScheduleInstances() {
+ if (this.roleAssignmentScheduleInstances == null) {
+ this.roleAssignmentScheduleInstances =
+ new RoleAssignmentScheduleInstancesImpl(clientObject.getRoleAssignmentScheduleInstances(), this);
+ }
+ return roleAssignmentScheduleInstances;
+ }
+
+ /** @return Resource collection API of RoleAssignmentScheduleRequests. */
+ public RoleAssignmentScheduleRequests roleAssignmentScheduleRequests() {
+ if (this.roleAssignmentScheduleRequests == null) {
+ this.roleAssignmentScheduleRequests =
+ new RoleAssignmentScheduleRequestsImpl(clientObject.getRoleAssignmentScheduleRequests(), this);
+ }
+ return roleAssignmentScheduleRequests;
+ }
+
+ /** @return Resource collection API of RoleEligibilitySchedules. */
+ public RoleEligibilitySchedules roleEligibilitySchedules() {
+ if (this.roleEligibilitySchedules == null) {
+ this.roleEligibilitySchedules =
+ new RoleEligibilitySchedulesImpl(clientObject.getRoleEligibilitySchedules(), this);
+ }
+ return roleEligibilitySchedules;
+ }
+
+ /** @return Resource collection API of RoleEligibilityScheduleInstances. */
+ public RoleEligibilityScheduleInstances roleEligibilityScheduleInstances() {
+ if (this.roleEligibilityScheduleInstances == null) {
+ this.roleEligibilityScheduleInstances =
+ new RoleEligibilityScheduleInstancesImpl(clientObject.getRoleEligibilityScheduleInstances(), this);
+ }
+ return roleEligibilityScheduleInstances;
+ }
+
+ /** @return Resource collection API of RoleEligibilityScheduleRequests. */
+ public RoleEligibilityScheduleRequests roleEligibilityScheduleRequests() {
+ if (this.roleEligibilityScheduleRequests == null) {
+ this.roleEligibilityScheduleRequests =
+ new RoleEligibilityScheduleRequestsImpl(clientObject.getRoleEligibilityScheduleRequests(), this);
+ }
+ return roleEligibilityScheduleRequests;
+ }
+
+ /** @return Resource collection API of RoleManagementPolicies. */
+ public RoleManagementPolicies roleManagementPolicies() {
+ if (this.roleManagementPolicies == null) {
+ this.roleManagementPolicies =
+ new RoleManagementPoliciesImpl(clientObject.getRoleManagementPolicies(), this);
+ }
+ return roleManagementPolicies;
+ }
+
+ /** @return Resource collection API of RoleManagementPolicyAssignments. */
+ public RoleManagementPolicyAssignments roleManagementPolicyAssignments() {
+ if (this.roleManagementPolicyAssignments == null) {
+ this.roleManagementPolicyAssignments =
+ new RoleManagementPolicyAssignmentsImpl(clientObject.getRoleManagementPolicyAssignments(), this);
+ }
+ return roleManagementPolicyAssignments;
+ }
+
+ /**
+ * @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 000000000000..e9620153b82c
--- /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.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response putWithResponse(
+ AccessReviewScheduleSettings properties, 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 000000000000..50aefe21624e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.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.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.
+ */
+ @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 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.
+ */
+ @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/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 000000000000..0b41ccb58539
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.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.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.
+ */
+ @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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response patchWithResponse(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context);
+}
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 000000000000..8bbe46156f94
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(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 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response resetDecisionsWithResponse(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 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response applyDecisionsWithResponse(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 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response sendRemindersWithResponse(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);
+
+ /**
+ * 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context);
+}
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 000000000000..d54a07a580e4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.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.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.
+ */
+ @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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context);
+}
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 000000000000..df281e283983
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.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.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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId);
+
+ /**
+ * Get access review instances.
+ *
+ * @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 access review instances.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context);
+}
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 000000000000..2fba45a897ba
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.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.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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get access review instances assigned for my approval.
+ *
+ * @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.
+ */
+ @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/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 000000000000..bb94febfadcf
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java
@@ -0,0 +1,140 @@
+// Copyright (c) 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get access review schedule definitions.
+ *
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(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);
+
+ /**
+ * 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String scheduleDefinitionId, 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);
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateByIdWithResponse(
+ String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, 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);
+
+ /**
+ * 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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scheduleDefinitionId, 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 000000000000..943e292a9705
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java
@@ -0,0 +1,208 @@
+// Copyright (c) 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 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 AccessReviewDefaultSettingsOperationsClient object to access its operations.
+ *
+ * @return the AccessReviewDefaultSettingsOperationsClient object.
+ */
+ AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations();
+
+ /**
+ * 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 DenyAssignmentsClient object to access its operations.
+ *
+ * @return the DenyAssignmentsClient object.
+ */
+ DenyAssignmentsClient getDenyAssignments();
+
+ /**
+ * Gets the ProviderOperationsMetadatasClient object to access its operations.
+ *
+ * @return the ProviderOperationsMetadatasClient object.
+ */
+ ProviderOperationsMetadatasClient getProviderOperationsMetadatas();
+
+ /**
+ * Gets the RoleAssignmentsClient object to access its operations.
+ *
+ * @return the RoleAssignmentsClient object.
+ */
+ RoleAssignmentsClient getRoleAssignments();
+
+ /**
+ * Gets the PermissionsClient object to access its operations.
+ *
+ * @return the PermissionsClient object.
+ */
+ PermissionsClient getPermissions();
+
+ /**
+ * Gets the RoleDefinitionsClient object to access its operations.
+ *
+ * @return the RoleDefinitionsClient object.
+ */
+ RoleDefinitionsClient getRoleDefinitions();
+
+ /**
+ * Gets the RoleAssignmentMetricsClient object to access its operations.
+ *
+ * @return the RoleAssignmentMetricsClient object.
+ */
+ RoleAssignmentMetricsClient getRoleAssignmentMetrics();
+
+ /**
+ * Gets the EligibleChildResourcesClient object to access its operations.
+ *
+ * @return the EligibleChildResourcesClient object.
+ */
+ EligibleChildResourcesClient getEligibleChildResources();
+
+ /**
+ * Gets the RoleAssignmentSchedulesClient object to access its operations.
+ *
+ * @return the RoleAssignmentSchedulesClient object.
+ */
+ RoleAssignmentSchedulesClient getRoleAssignmentSchedules();
+
+ /**
+ * Gets the RoleAssignmentScheduleInstancesClient object to access its operations.
+ *
+ * @return the RoleAssignmentScheduleInstancesClient object.
+ */
+ RoleAssignmentScheduleInstancesClient getRoleAssignmentScheduleInstances();
+
+ /**
+ * Gets the RoleAssignmentScheduleRequestsClient object to access its operations.
+ *
+ * @return the RoleAssignmentScheduleRequestsClient object.
+ */
+ RoleAssignmentScheduleRequestsClient getRoleAssignmentScheduleRequests();
+
+ /**
+ * Gets the RoleEligibilitySchedulesClient object to access its operations.
+ *
+ * @return the RoleEligibilitySchedulesClient object.
+ */
+ RoleEligibilitySchedulesClient getRoleEligibilitySchedules();
+
+ /**
+ * Gets the RoleEligibilityScheduleInstancesClient object to access its operations.
+ *
+ * @return the RoleEligibilityScheduleInstancesClient object.
+ */
+ RoleEligibilityScheduleInstancesClient getRoleEligibilityScheduleInstances();
+
+ /**
+ * Gets the RoleEligibilityScheduleRequestsClient object to access its operations.
+ *
+ * @return the RoleEligibilityScheduleRequestsClient object.
+ */
+ RoleEligibilityScheduleRequestsClient getRoleEligibilityScheduleRequests();
+
+ /**
+ * Gets the RoleManagementPoliciesClient object to access its operations.
+ *
+ * @return the RoleManagementPoliciesClient object.
+ */
+ RoleManagementPoliciesClient getRoleManagementPolicies();
+
+ /**
+ * Gets the RoleManagementPolicyAssignmentsClient object to access its operations.
+ *
+ * @return the RoleManagementPolicyAssignmentsClient object.
+ */
+ RoleManagementPolicyAssignmentsClient getRoleManagementPolicyAssignments();
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java
new file mode 100644
index 000000000000..81b316934488
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java
@@ -0,0 +1,222 @@
+// Copyright (c) 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.DenyAssignmentInner;
+
+/** An instance of this class provides access to all the operations defined in DenyAssignmentsClient. */
+public interface DenyAssignmentsClient {
+ /**
+ * Gets deny assignments for a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource.
+ * @param resourceName The name of the resource to get deny assignments 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 deny assignments for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName,
+ String resourceProviderNamespace,
+ String parentResourcePath,
+ String resourceType,
+ String resourceName);
+
+ /**
+ * Gets deny assignments for a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource.
+ * @param resourceName The name of the resource to get deny assignments for.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or
+ * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified
+ * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the
+ * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and
+ * below the scope for the specified principal. This filter is different from the principalId filter as it
+ * returns not only those deny assignments that contain the specified principal is the Principals list but also
+ * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when
+ * gdprExportPrincipalId filter is used, only the deny assignment name and description properties 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 deny assignments for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName,
+ String resourceProviderNamespace,
+ String parentResourcePath,
+ String resourceType,
+ String resourceName,
+ String filter,
+ Context context);
+
+ /**
+ * Gets deny assignments for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return deny assignments for a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets deny assignments for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or
+ * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified
+ * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the
+ * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and
+ * below the scope for the specified principal. This filter is different from the principalId filter as it
+ * returns not only those deny assignments that contain the specified principal is the Principals list but also
+ * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when
+ * gdprExportPrincipalId filter is used, only the deny assignment name and description properties 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 deny assignments for a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, String filter, Context context);
+
+ /**
+ * Gets all deny assignments 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 all deny assignments for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets all deny assignments for the subscription.
+ *
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or
+ * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified
+ * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the
+ * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and
+ * below the scope for the specified principal. This filter is different from the principalId filter as it
+ * returns not only those deny assignments that contain the specified principal is the Principals list but also
+ * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when
+ * gdprExportPrincipalId filter is used, only the deny assignment name and description properties 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 all deny assignments for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+
+ /**
+ * Get the specified deny assignment.
+ *
+ * @param scope The scope of the deny assignment.
+ * @param denyAssignmentId The ID of the deny assignment 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 deny assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DenyAssignmentInner get(String scope, String denyAssignmentId);
+
+ /**
+ * Get the specified deny assignment.
+ *
+ * @param scope The scope of the deny assignment.
+ * @param denyAssignmentId The ID of the deny assignment 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 deny assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String denyAssignmentId, Context context);
+
+ /**
+ * Gets a deny assignment by ID.
+ *
+ * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format,
+ * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription
+ * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant
+ * level deny assignments.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 deny assignment by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DenyAssignmentInner getById(String denyAssignmentId);
+
+ /**
+ * Gets a deny assignment by ID.
+ *
+ * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format,
+ * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription
+ * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant
+ * level deny assignments.
+ * @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 a deny assignment by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String denyAssignmentId, Context context);
+
+ /**
+ * Gets deny assignments for a scope.
+ *
+ * @param scope The scope of the deny assignments.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return deny assignments for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets deny assignments for a scope.
+ *
+ * @param scope The scope of the deny assignments.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or
+ * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified
+ * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the
+ * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and
+ * below the scope for the specified principal. This filter is different from the principalId filter as it
+ * returns not only those deny assignments that contain the specified principal is the Principals list but also
+ * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when
+ * gdprExportPrincipalId filter is used, only the deny assignment name and description properties 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 deny assignments for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java
new file mode 100644
index 000000000000..75260d671fd8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java
@@ -0,0 +1,43 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.EligibleChildResourceInner;
+
+/** An instance of this class provides access to all the operations defined in EligibleChildResourcesClient. */
+public interface EligibleChildResourcesClient {
+ /**
+ * Get the child resources of a resource on which user has eligible access.
+ *
+ * @param scope The scope of the role management policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 child resources of a resource on which user has eligible access.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable get(String scope);
+
+ /**
+ * Get the child resources of a resource on which user has eligible access.
+ *
+ * @param scope The scope of the role management policy.
+ * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only
+ * resource of type = 'Subscription'. Use
+ * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type =
+ * 'Subscription' or 'ResourceGroup'.
+ * @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 child resources of a resource on which user has eligible access.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable get(String scope, String filter, Context context);
+}
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 000000000000..ea09477ff2ba
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.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.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.
+ */
+ @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.
+ */
+ @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/PermissionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java
new file mode 100644
index 000000000000..c8cfb415af55
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.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.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.PermissionInner;
+
+/** An instance of this class provides access to all the operations defined in PermissionsClient. */
+public interface PermissionsClient {
+ /**
+ * Gets all permissions the caller has for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all permissions the caller has for a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all permissions the caller has for a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all permissions the caller has for a resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets all permissions the caller has for a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource.
+ * @param resourceName The name of the resource to get the permissions 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 all permissions the caller has for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName,
+ String resourceProviderNamespace,
+ String parentResourcePath,
+ String resourceType,
+ String resourceName);
+
+ /**
+ * Gets all permissions the caller has for a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param parentResourcePath The parent resource identity.
+ * @param resourceType The resource type of the resource.
+ * @param resourceName The name of the resource to get the permissions 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 all permissions the caller has for a resource.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName,
+ String resourceProviderNamespace,
+ String parentResourcePath,
+ String resourceType,
+ String resourceName,
+ Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java
new file mode 100644
index 000000000000..57246515cc57
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.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.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.ProviderOperationsMetadataInner;
+
+/** An instance of this class provides access to all the operations defined in ProviderOperationsMetadatasClient. */
+public interface ProviderOperationsMetadatasClient {
+ /**
+ * Gets provider operations metadata for the specified resource provider.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider operations metadata for the specified resource provider.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProviderOperationsMetadataInner get(String resourceProviderNamespace);
+
+ /**
+ * Gets provider operations metadata for the specified resource provider.
+ *
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param expand Specifies whether to expand the values.
+ * @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 provider operations metadata for the specified resource provider.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceProviderNamespace, String expand, Context context);
+
+ /**
+ * Gets provider operations metadata for all resource providers.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return provider operations metadata for all resource providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets provider operations metadata for all resource providers.
+ *
+ * @param expand Specifies whether to expand the values.
+ * @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 provider operations metadata for all resource providers.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String expand, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java
new file mode 100644
index 000000000000..47b78e69058e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.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.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.RoleAssignmentMetricsResultInner;
+
+/** An instance of this class provides access to all the operations defined in RoleAssignmentMetricsClient. */
+public interface RoleAssignmentMetricsClient {
+ /**
+ * Get role assignment usage metrics for a 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 role assignment usage metrics for a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentMetricsResultInner getMetricsForSubscription();
+
+ /**
+ * Get role assignment usage metrics for a 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 role assignment usage metrics for a subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getMetricsForSubscriptionWithResponse(Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java
new file mode 100644
index 000000000000..699c96eca050
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.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.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner;
+
+/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleInstancesClient. */
+public interface RoleAssignmentScheduleInstancesClient {
+ /**
+ * Gets role assignment schedule instances of a role assignment schedule.
+ *
+ * @param scope The scope of the role assignment schedule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment schedule instances of a role assignment schedule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role assignment schedule instances of a role assignment schedule.
+ *
+ * @param scope The scope of the role assignment schedule.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules
+ * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or
+ * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment
+ * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances
+ * created for the current user.
+ * @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 role assignment schedule instances of a role assignment schedule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+
+ /**
+ * Gets the specified role assignment schedule instance.
+ *
+ * @param scope The scope of the role assignments schedules.
+ * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule
+ * 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 role assignment schedule instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentScheduleInstanceInner get(String scope, String roleAssignmentScheduleInstanceName);
+
+ /**
+ * Gets the specified role assignment schedule instance.
+ *
+ * @param scope The scope of the role assignments schedules.
+ * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule
+ * 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 role assignment schedule instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleAssignmentScheduleInstanceName, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java
new file mode 100644
index 000000000000..223fc65e3590
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java
@@ -0,0 +1,148 @@
+// Copyright (c) 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.RoleAssignmentScheduleRequestInner;
+
+/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleRequestsClient. */
+public interface RoleAssignmentScheduleRequestsClient {
+ /**
+ * Creates a role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment schedule request to create. 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 roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and
+ * different for each role assignment.
+ * @param parameters Parameters for the role assignment schedule request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Assignment schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentScheduleRequestInner create(
+ String scope, String roleAssignmentScheduleRequestName, RoleAssignmentScheduleRequestInner parameters);
+
+ /**
+ * Creates a role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment schedule request to create. 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 roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and
+ * different for each role assignment.
+ * @param parameters Parameters for the role assignment schedule request.
+ * @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 role Assignment schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope,
+ String roleAssignmentScheduleRequestName,
+ RoleAssignmentScheduleRequestInner parameters,
+ Context context);
+
+ /**
+ * Get the specified role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment schedule request.
+ * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request 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 role assignment schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentScheduleRequestInner get(String scope, String roleAssignmentScheduleRequestName);
+
+ /**
+ * Get the specified role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment schedule request.
+ * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request 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 role assignment schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleAssignmentScheduleRequestName, Context context);
+
+ /**
+ * Gets role assignment schedule requests for a scope.
+ *
+ * @param scope The scope of the role assignments schedule requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment schedule requests for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role assignment schedule requests for a scope.
+ *
+ * @param scope The scope of the role assignments schedule requests.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule
+ * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule
+ * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all
+ * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role
+ * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role
+ * assignment schedule requests where the current user is an approver.
+ * @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 role assignment schedule requests for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+
+ /**
+ * Cancels a pending role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment request to cancel.
+ * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cancel(String scope, String roleAssignmentScheduleRequestName);
+
+ /**
+ * Cancels a pending role assignment schedule request.
+ *
+ * @param scope The scope of the role assignment request to cancel.
+ * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response cancelWithResponse(String scope, String roleAssignmentScheduleRequestName, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java
new file mode 100644
index 000000000000..b75b2f28eb8f
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.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.RoleAssignmentScheduleInner;
+
+/** An instance of this class provides access to all the operations defined in RoleAssignmentSchedulesClient. */
+public interface RoleAssignmentSchedulesClient {
+ /**
+ * Get the specified role assignment schedule for a resource scope.
+ *
+ * @param scope The scope of the role assignment schedule.
+ * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule 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 role assignment schedule for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentScheduleInner get(String scope, String roleAssignmentScheduleName);
+
+ /**
+ * Get the specified role assignment schedule for a resource scope.
+ *
+ * @param scope The scope of the role assignment schedule.
+ * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule 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 role assignment schedule for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleAssignmentScheduleName, Context context);
+
+ /**
+ * Gets role assignment schedules for a resource scope.
+ *
+ * @param scope The scope of the role assignments schedules.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment schedules for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role assignment schedules for a resource scope.
+ *
+ * @param scope The scope of the role assignments schedules.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules
+ * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or
+ * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment
+ * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for
+ * the current user.
+ * @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 role assignment schedules for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java
new file mode 100644
index 000000000000..a2c16d034384
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java
@@ -0,0 +1,428 @@
+// Copyright (c) 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.RoleAssignmentInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters;
+
+/** An instance of this class provides access to all the operations defined in RoleAssignmentsClient. */
+public interface RoleAssignmentsClient {
+ /**
+ * List all role assignments that apply to a 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 role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List all role assignments that apply to a subscription.
+ *
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or
+ * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope
+ * for the specified principal.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, String tenantId, Context context);
+
+ /**
+ * List all role assignments that apply to a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List all role assignments that apply to a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or
+ * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope
+ * for the specified principal.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(
+ String resourceGroupName, String filter, String tenantId, Context context);
+
+ /**
+ * List all role assignments that apply to a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from
+ * Microsoft.Web/sites).
+ * @param resourceName The resource name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName);
+
+ /**
+ * List all role assignments that apply to a resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceProviderNamespace The namespace of the resource provider.
+ * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from
+ * Microsoft.Web/sites).
+ * @param resourceName The resource name.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or
+ * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope
+ * for the specified principal.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForResource(
+ String resourceGroupName,
+ String resourceProviderNamespace,
+ String resourceType,
+ String resourceName,
+ String filter,
+ String tenantId,
+ Context context);
+
+ /**
+ * Get a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 role assignment by scope and name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner get(String scope, String roleAssignmentName);
+
+ /**
+ * Get a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 a role assignment by scope and name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleAssignmentName, String tenantId, Context context);
+
+ /**
+ * Create or update a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param parameters Parameters for the role assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner create(String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters);
+
+ /**
+ * Create or update a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param parameters Parameters for the role assignment.
+ * @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 role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context);
+
+ /**
+ * Delete a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner delete(String scope, String roleAssignmentName);
+
+ /**
+ * Delete a role assignment by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String scope, String roleAssignmentName, String tenantId, Context context);
+
+ /**
+ * Validate a role assignment create or update operation by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param parameters Parameters for the role assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return validation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidationResponseInner validate(
+ String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters);
+
+ /**
+ * Validate a role assignment create or update operation by scope and name.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param roleAssignmentName The name of the role assignment. It can be any valid GUID.
+ * @param parameters Parameters for the role assignment.
+ * @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 validation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateWithResponse(
+ String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context);
+
+ /**
+ * List all role assignments that apply to a scope.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * List all role assignments that apply to a scope.
+ *
+ * @param scope The scope of the operation or resource. Valid scopes are: subscription (format:
+ * '/subscriptions/{subscriptionId}'), resource group (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format:
+ * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or
+ * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope
+ * for the specified principal.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role assignment list operation result.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, String tenantId, Context context);
+
+ /**
+ * Get a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 role assignment by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner getById(String roleAssignmentId);
+
+ /**
+ * Get a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 a role assignment by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String roleAssignmentId, String tenantId, Context context);
+
+ /**
+ * Create or update a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param parameters Parameters for the role assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner createById(String roleAssignmentId, RoleAssignmentCreateParameters parameters);
+
+ /**
+ * Create or update a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param parameters Parameters for the role assignment.
+ * @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 role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createByIdWithResponse(
+ String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context);
+
+ /**
+ * Delete a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleAssignmentInner deleteById(String roleAssignmentId);
+
+ /**
+ * Delete a role assignment by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param tenantId Tenant ID for cross-tenant request.
+ * @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 role Assignments.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String roleAssignmentId, String tenantId, Context context);
+
+ /**
+ * Validate a role assignment create or update operation by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param parameters Parameters for the role assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return validation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidationResponseInner validateById(String roleAssignmentId, RoleAssignmentCreateParameters parameters);
+
+ /**
+ * Validate a role assignment create or update operation by ID.
+ *
+ * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and
+ * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.
+ * Example:
+ * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>.
+ * @param parameters Parameters for the role assignment.
+ * @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 validation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateByIdWithResponse(
+ String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java
new file mode 100644
index 000000000000..714bdc86b395
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java
@@ -0,0 +1,157 @@
+// Copyright (c) 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.RoleDefinitionInner;
+
+/** An instance of this class provides access to all the operations defined in RoleDefinitionsClient. */
+public interface RoleDefinitionsClient {
+ /**
+ * Deletes a role definition.
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role definition to delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleDefinitionInner delete(String scope, String roleDefinitionId);
+
+ /**
+ * Deletes a role definition.
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role definition to delete.
+ * @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 role definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String scope, String roleDefinitionId, Context context);
+
+ /**
+ * Get role definition by name (GUID).
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role 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 role definition by name (GUID).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleDefinitionInner get(String scope, String roleDefinitionId);
+
+ /**
+ * Get role definition by name (GUID).
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role 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 role definition by name (GUID).
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String roleDefinitionId, Context context);
+
+ /**
+ * Creates or updates a role definition.
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role definition.
+ * @param roleDefinition The values for the role 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 role definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleDefinitionInner createOrUpdate(String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition);
+
+ /**
+ * Creates or updates a role definition.
+ *
+ * @param scope The scope of the role definition.
+ * @param roleDefinitionId The ID of the role definition.
+ * @param roleDefinition The values for the role 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 role definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition, Context context);
+
+ /**
+ * Get all role definitions that are applicable at scope and above.
+ *
+ * @param scope The scope of the role 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 all role definitions that are applicable at scope and above.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope);
+
+ /**
+ * Get all role definitions that are applicable at scope and above.
+ *
+ * @param scope The scope of the role definition.
+ * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as
+ * well.
+ * @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 all role definitions that are applicable at scope and above.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String filter, Context context);
+
+ /**
+ * Gets a role definition by ID.
+ *
+ * @param roleId The fully qualified role definition ID. Use the format,
+ * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription
+ * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant
+ * level role definitions.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 role definition by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleDefinitionInner getById(String roleId);
+
+ /**
+ * Gets a role definition by ID.
+ *
+ * @param roleId The fully qualified role definition ID. Use the format,
+ * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription
+ * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant
+ * level role definitions.
+ * @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 a role definition by ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String roleId, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java
new file mode 100644
index 000000000000..6e6de6539cf8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.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.RoleEligibilityScheduleInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in RoleEligibilityScheduleInstancesClient.
+ */
+public interface RoleEligibilityScheduleInstancesClient {
+ /**
+ * Gets role eligibility schedule instances of a role eligibility schedule.
+ *
+ * @param scope The scope of the role eligibility schedule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role eligibility schedule instances of a role eligibility schedule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role eligibility schedule instances of a role eligibility schedule.
+ *
+ * @param scope The scope of the role eligibility schedule.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules
+ * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or
+ * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role
+ * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created
+ * for the current user.
+ * @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 role eligibility schedule instances of a role eligibility schedule.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+
+ /**
+ * Gets the specified role eligibility schedule instance.
+ *
+ * @param scope The scope of the role eligibility schedules.
+ * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility
+ * schedule 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 role eligibility schedule instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleEligibilityScheduleInstanceInner get(String scope, String roleEligibilityScheduleInstanceName);
+
+ /**
+ * Gets the specified role eligibility schedule instance.
+ *
+ * @param scope The scope of the role eligibility schedules.
+ * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility
+ * schedule 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 role eligibility schedule instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleEligibilityScheduleInstanceName, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java
new file mode 100644
index 000000000000..8c9549c3a411
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java
@@ -0,0 +1,146 @@
+// Copyright (c) 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.RoleEligibilityScheduleRequestInner;
+
+/** An instance of this class provides access to all the operations defined in RoleEligibilityScheduleRequestsClient. */
+public interface RoleEligibilityScheduleRequestsClient {
+ /**
+ * Creates a role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility schedule request to create. 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 roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID.
+ * @param parameters Parameters for the role eligibility schedule request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role Eligibility schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleEligibilityScheduleRequestInner create(
+ String scope, String roleEligibilityScheduleRequestName, RoleEligibilityScheduleRequestInner parameters);
+
+ /**
+ * Creates a role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility schedule request to create. 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 roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID.
+ * @param parameters Parameters for the role eligibility schedule request.
+ * @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 role Eligibility schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope,
+ String roleEligibilityScheduleRequestName,
+ RoleEligibilityScheduleRequestInner parameters,
+ Context context);
+
+ /**
+ * Get the specified role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility schedule request.
+ * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request 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 role eligibility schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleEligibilityScheduleRequestInner get(String scope, String roleEligibilityScheduleRequestName);
+
+ /**
+ * Get the specified role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility schedule request.
+ * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request 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 role eligibility schedule request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleEligibilityScheduleRequestName, Context context);
+
+ /**
+ * Gets role eligibility schedule requests for a scope.
+ *
+ * @param scope The scope of the role eligibility schedule requests.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role eligibility schedule requests for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role eligibility schedule requests for a scope.
+ *
+ * @param scope The scope of the role eligibility schedule requests.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule
+ * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule
+ * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all
+ * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role
+ * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role
+ * eligibility schedule requests where the current user is an approver.
+ * @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 role eligibility schedule requests for a scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+
+ /**
+ * Cancels a pending role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility request to cancel.
+ * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 cancel(String scope, String roleEligibilityScheduleRequestName);
+
+ /**
+ * Cancels a pending role eligibility schedule request.
+ *
+ * @param scope The scope of the role eligibility request to cancel.
+ * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response cancelWithResponse(String scope, String roleEligibilityScheduleRequestName, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java
new file mode 100644
index 000000000000..69960afc2950
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.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.RoleEligibilityScheduleInner;
+
+/** An instance of this class provides access to all the operations defined in RoleEligibilitySchedulesClient. */
+public interface RoleEligibilitySchedulesClient {
+ /**
+ * Get the specified role eligibility schedule for a resource scope.
+ *
+ * @param scope The scope of the role eligibility schedule.
+ * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule 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 role eligibility schedule for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleEligibilityScheduleInner get(String scope, String roleEligibilityScheduleName);
+
+ /**
+ * Get the specified role eligibility schedule for a resource scope.
+ *
+ * @param scope The scope of the role eligibility schedule.
+ * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule 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 role eligibility schedule for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleEligibilityScheduleName, Context context);
+
+ /**
+ * Gets role eligibility schedules for a resource scope.
+ *
+ * @param scope The scope of the role eligibility schedules.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role eligibility schedules for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role eligibility schedules for a resource scope.
+ *
+ * @param scope The scope of the role eligibility schedules.
+ * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility
+ * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at,
+ * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role
+ * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created
+ * for the current user.
+ * @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 role eligibility schedules for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java
new file mode 100644
index 000000000000..39d1c71c9818
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java
@@ -0,0 +1,124 @@
+// Copyright (c) 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.RoleManagementPolicyInner;
+
+/** An instance of this class provides access to all the operations defined in RoleManagementPoliciesClient. */
+public interface RoleManagementPoliciesClient {
+ /**
+ * Get the specified role management policy for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @param roleManagementPolicyName The name (guid) of the role management policy 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 role management policy for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleManagementPolicyInner get(String scope, String roleManagementPolicyName);
+
+ /**
+ * Get the specified role management policy for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @param roleManagementPolicyName The name (guid) of the role management policy 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 role management policy for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String roleManagementPolicyName, Context context);
+
+ /**
+ * Update a role management policy.
+ *
+ * @param scope The scope of the role management policy to upsert.
+ * @param roleManagementPolicyName The name (guid) of the role management policy to upsert.
+ * @param parameters Parameters for the role management policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role management policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleManagementPolicyInner update(
+ String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters);
+
+ /**
+ * Update a role management policy.
+ *
+ * @param scope The scope of the role management policy to upsert.
+ * @param roleManagementPolicyName The name (guid) of the role management policy to upsert.
+ * @param parameters Parameters for the role management policy.
+ * @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 role management policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context);
+
+ /**
+ * Delete a role management policy.
+ *
+ * @param scope The scope of the role management policy to upsert.
+ * @param roleManagementPolicyName The name (guid) of the role management policy to upsert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String scope, String roleManagementPolicyName);
+
+ /**
+ * Delete a role management policy.
+ *
+ * @param scope The scope of the role management policy to upsert.
+ * @param roleManagementPolicyName The name (guid) of the role management policy to upsert.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String scope, String roleManagementPolicyName, Context context);
+
+ /**
+ * Gets role management policies for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role management policies for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role management policies for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @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 role management policies for a resource scope.
+ */
+ @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/RoleManagementPolicyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java
new file mode 100644
index 000000000000..b107a4107b45
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.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;
+
+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.RoleManagementPolicyAssignmentInner;
+
+/** An instance of this class provides access to all the operations defined in RoleManagementPolicyAssignmentsClient. */
+public interface RoleManagementPolicyAssignmentsClient {
+ /**
+ * Get the specified role management policy assignment for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment 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 role management policy assignment for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleManagementPolicyAssignmentInner get(String scope, String roleManagementPolicyAssignmentName);
+
+ /**
+ * Get the specified role management policy assignment for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment 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 role management policy assignment for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String scope, String roleManagementPolicyAssignmentName, Context context);
+
+ /**
+ * Create a role management policy assignment.
+ *
+ * @param scope The scope of the role management policy assignment to upsert.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to
+ * upsert.
+ * @param parameters Parameters for the role management policy assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role management policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RoleManagementPolicyAssignmentInner create(
+ String scope, String roleManagementPolicyAssignmentName, RoleManagementPolicyAssignmentInner parameters);
+
+ /**
+ * Create a role management policy assignment.
+ *
+ * @param scope The scope of the role management policy assignment to upsert.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to
+ * upsert.
+ * @param parameters Parameters for the role management policy assignment.
+ * @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 role management policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope,
+ String roleManagementPolicyAssignmentName,
+ RoleManagementPolicyAssignmentInner parameters,
+ Context context);
+
+ /**
+ * Delete a role management policy assignment.
+ *
+ * @param scope The scope of the role management policy assignment to delete.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to
+ * delete.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String scope, String roleManagementPolicyAssignmentName);
+
+ /**
+ * Delete a role management policy assignment.
+ *
+ * @param scope The scope of the role management policy assignment to delete.
+ * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to
+ * delete.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String scope, String roleManagementPolicyAssignmentName, Context context);
+
+ /**
+ * Gets role management assignment policies for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return role management assignment policies for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets role management assignment policies for a resource scope.
+ *
+ * @param scope The scope of the role management policy.
+ * @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 role management assignment policies for a resource scope.
+ */
+ @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/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 000000000000..ddc2cd915bd1
--- /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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Details of the actor identity. */
+@Immutable
+public class AccessReviewActorIdentity {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewActorIdentity.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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/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 000000000000..8563739f403d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java
@@ -0,0 +1,168 @@
+// Copyright (c) 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.core.util.logging.ClientLogger;
+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.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review. */
+@Fluent
+public final class AccessReviewDecisionInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionInner.class);
+
+ /*
+ * Access Review Decision properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewDecisionProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Access Review Decision properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewDecisionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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 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();
+ }
+
+ /**
+ * 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/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 000000000000..19230c1d39b6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java
@@ -0,0 +1,272 @@
+// Copyright (c) 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.AccessRecommendationType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Approval Step. */
+@Fluent
+public final class AccessReviewDecisionProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionProperties.class);
+
+ /*
+ * Target of this decision record. Can be UserDecisionTarget or
+ * ServicePrincipalDecisionTarget
+ */
+ @JsonProperty(value = "target", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewDecisionTarget innerTarget;
+
+ /*
+ * 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 applier.
+ */
+ @JsonProperty(value = "appliedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentity innerAppliedBy;
+
+ /**
+ * Get the innerTarget property: Target of this decision record. Can be UserDecisionTarget or
+ * ServicePrincipalDecisionTarget.
+ *
+ * @return the innerTarget value.
+ */
+ private AccessReviewDecisionTarget innerTarget() {
+ return this.innerTarget;
+ }
+
+ /**
+ * 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 applier.
+ *
+ * @return the innerAppliedBy value.
+ */
+ private AccessReviewActorIdentity innerAppliedBy() {
+ return this.innerAppliedBy;
+ }
+
+ /**
+ * 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 principalId() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().userPrincipalName();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerTarget() != null) {
+ innerTarget().validate();
+ }
+ if (innerReviewedBy() != null) {
+ innerReviewedBy().validate();
+ }
+ if (innerAppliedBy() != null) {
+ innerAppliedBy().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.java
new file mode 100644
index 000000000000..789286188b4f
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.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.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.ServicePrincipalDecisionTarget;
+import com.azure.resourcemanager.authorization.generated.models.UserDecisionTarget;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+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 = AccessReviewDecisionTarget.class)
+@JsonTypeName("AccessReviewDecisionTarget")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "user", value = UserDecisionTarget.class),
+ @JsonSubTypes.Type(name = "servicePrincipal", value = ServicePrincipalDecisionTarget.class)
+})
+@Immutable
+public class AccessReviewDecisionTarget {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionTarget.class);
+
+ /**
+ * 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/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 000000000000..3995df16d037
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.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.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review Default Settings. */
+@Fluent
+public final class AccessReviewDefaultSettingsInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDefaultSettingsInner.class);
+
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewScheduleSettings innerProperties;
+
+ /**
+ * 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 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 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/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 000000000000..1d3a2f069e33
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.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.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review Instance. */
+@Fluent
+public final class AccessReviewInstanceInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceInner.class);
+
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewInstanceProperties innerProperties;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * 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 000000000000..fa82ca6f7192
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java
@@ -0,0 +1,93 @@
+// Copyright (c) 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.AccessReviewInstanceStatus;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review Instance properties. */
+@Fluent
+public final class AccessReviewInstanceProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceProperties.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * 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/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 000000000000..acb18025f43d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.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.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Recurrence Pattern of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrencePattern {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrencePattern.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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 000000000000..a0325cc51c10
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java
@@ -0,0 +1,138 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Recurrence Range of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrenceRange {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrenceRange.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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 000000000000..1c5e2e39771d
--- /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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Recurrence Settings of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrenceSettings {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrenceSettings.class);
+
+ /*
+ * Access Review schedule definition recurrence pattern.
+ */
+ @JsonProperty(value = "pattern")
+ private AccessReviewRecurrencePattern innerPattern;
+
+ /*
+ * Access Review schedule definition recurrence range.
+ */
+ @JsonProperty(value = "range")
+ private AccessReviewRecurrenceRange innerRange;
+
+ /**
+ * 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 type() {
+ 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 withType(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 000000000000..f7b550fc5eac
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java
@@ -0,0 +1,566 @@
+// Copyright (c) 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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+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.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewScheduleDefinitionInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionInner.class);
+
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewScheduleDefinitionProperties innerProperties;
+
+ /**
+ * 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 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 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 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();
+ }
+
+ /**
+ * 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 000000000000..ca4e20bdda69
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java
@@ -0,0 +1,653 @@
+// Copyright (c) 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.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+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.AccessReviewScopePrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review. */
+@Fluent
+public final class AccessReviewScheduleDefinitionProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionProperties.class);
+
+ /*
+ * 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 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;
+
+ /**
+ * 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 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 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 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 principalType() {
+ return this.innerScope() == null ? null : this.innerScope().principalType();
+ }
+
+ /**
+ * 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 (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 000000000000..702b6e1365e2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java
@@ -0,0 +1,398 @@
+// Copyright (c) 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.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Settings of an Access Review. */
+@Fluent
+public final class AccessReviewScheduleSettings {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleSettings.class);
+
+ /*
+ * 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;
+
+ /*
+ * The duration in days for an instance.
+ */
+ @JsonProperty(value = "instanceDurationInDays")
+ private Integer instanceDurationInDays;
+
+ /*
+ * Access Review Settings.
+ */
+ @JsonProperty(value = "recurrence")
+ private AccessReviewRecurrenceSettings innerRecurrence;
+
+ /**
+ * 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 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 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 000000000000..9dcef4839dc3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.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.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Descriptor for what needs to be reviewed. */
+@Immutable
+public final class AccessReviewScope {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScope.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * 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/DenyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java
new file mode 100644
index 000000000000..346be4e39101
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java
@@ -0,0 +1,278 @@
+// Copyright (c) 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.DenyAssignmentPermission;
+import com.azure.resourcemanager.authorization.generated.models.Principal;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Deny Assignment. */
+@Fluent
+public final class DenyAssignmentInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentInner.class);
+
+ /*
+ * The deny assignment ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The deny assignment name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The deny assignment type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Deny assignment properties.
+ */
+ @JsonProperty(value = "properties")
+ private DenyAssignmentProperties innerProperties;
+
+ /**
+ * Get the id property: The deny assignment ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The deny assignment name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The deny assignment type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Deny assignment properties.
+ *
+ * @return the innerProperties value.
+ */
+ private DenyAssignmentProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the denyAssignmentName property: The display name of the deny assignment.
+ *
+ * @return the denyAssignmentName value.
+ */
+ public String denyAssignmentName() {
+ return this.innerProperties() == null ? null : this.innerProperties().denyAssignmentName();
+ }
+
+ /**
+ * Set the denyAssignmentName property: The display name of the deny assignment.
+ *
+ * @param denyAssignmentName the denyAssignmentName value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withDenyAssignmentName(String denyAssignmentName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withDenyAssignmentName(denyAssignmentName);
+ return this;
+ }
+
+ /**
+ * Get the description property: The description of the deny assignment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: The description of the deny assignment.
+ *
+ * @param description the description value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the permissions property: An array of permissions that are denied by the deny assignment.
+ *
+ * @return the permissions value.
+ */
+ public List permissions() {
+ return this.innerProperties() == null ? null : this.innerProperties().permissions();
+ }
+
+ /**
+ * Set the permissions property: An array of permissions that are denied by the deny assignment.
+ *
+ * @param permissions the permissions value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withPermissions(List permissions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withPermissions(permissions);
+ return this;
+ }
+
+ /**
+ * Get the scope property: The deny assignment scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The deny assignment scope.
+ *
+ * @param scope the scope value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default
+ * value is false.
+ *
+ * @return the doNotApplyToChildScopes value.
+ */
+ public Boolean doNotApplyToChildScopes() {
+ return this.innerProperties() == null ? null : this.innerProperties().doNotApplyToChildScopes();
+ }
+
+ /**
+ * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default
+ * value is false.
+ *
+ * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withDoNotApplyToChildScopes(doNotApplyToChildScopes);
+ return this;
+ }
+
+ /**
+ * Get the principals property: Array of principals to which the deny assignment applies.
+ *
+ * @return the principals value.
+ */
+ public List principals() {
+ return this.innerProperties() == null ? null : this.innerProperties().principals();
+ }
+
+ /**
+ * Set the principals property: Array of principals to which the deny assignment applies.
+ *
+ * @param principals the principals value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withPrincipals(List principals) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withPrincipals(principals);
+ return this;
+ }
+
+ /**
+ * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply.
+ *
+ * @return the excludePrincipals value.
+ */
+ public List excludePrincipals() {
+ return this.innerProperties() == null ? null : this.innerProperties().excludePrincipals();
+ }
+
+ /**
+ * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply.
+ *
+ * @param excludePrincipals the excludePrincipals value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withExcludePrincipals(List excludePrincipals) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withExcludePrincipals(excludePrincipals);
+ return this;
+ }
+
+ /**
+ * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be
+ * edited or deleted.
+ *
+ * @return the isSystemProtected value.
+ */
+ public Boolean isSystemProtected() {
+ return this.innerProperties() == null ? null : this.innerProperties().isSystemProtected();
+ }
+
+ /**
+ * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be
+ * edited or deleted.
+ *
+ * @param isSystemProtected the isSystemProtected value to set.
+ * @return the DenyAssignmentInner object itself.
+ */
+ public DenyAssignmentInner withIsSystemProtected(Boolean isSystemProtected) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new DenyAssignmentProperties();
+ }
+ this.innerProperties().withIsSystemProtected(isSystemProtected);
+ 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/DenyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java
new file mode 100644
index 000000000000..a6c93ffc7617
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java
@@ -0,0 +1,250 @@
+// Copyright (c) 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.DenyAssignmentPermission;
+import com.azure.resourcemanager.authorization.generated.models.Principal;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Deny assignment properties. */
+@Fluent
+public final class DenyAssignmentProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentProperties.class);
+
+ /*
+ * The display name of the deny assignment.
+ */
+ @JsonProperty(value = "denyAssignmentName")
+ private String denyAssignmentName;
+
+ /*
+ * The description of the deny assignment.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * An array of permissions that are denied by the deny assignment.
+ */
+ @JsonProperty(value = "permissions")
+ private List permissions;
+
+ /*
+ * The deny assignment scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * Determines if the deny assignment applies to child scopes. Default value
+ * is false.
+ */
+ @JsonProperty(value = "doNotApplyToChildScopes")
+ private Boolean doNotApplyToChildScopes;
+
+ /*
+ * Array of principals to which the deny assignment applies.
+ */
+ @JsonProperty(value = "principals")
+ private List principals;
+
+ /*
+ * Array of principals to which the deny assignment does not apply.
+ */
+ @JsonProperty(value = "excludePrincipals")
+ private List excludePrincipals;
+
+ /*
+ * Specifies whether this deny assignment was created by Azure and cannot
+ * be edited or deleted.
+ */
+ @JsonProperty(value = "isSystemProtected")
+ private Boolean isSystemProtected;
+
+ /**
+ * Get the denyAssignmentName property: The display name of the deny assignment.
+ *
+ * @return the denyAssignmentName value.
+ */
+ public String denyAssignmentName() {
+ return this.denyAssignmentName;
+ }
+
+ /**
+ * Set the denyAssignmentName property: The display name of the deny assignment.
+ *
+ * @param denyAssignmentName the denyAssignmentName value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withDenyAssignmentName(String denyAssignmentName) {
+ this.denyAssignmentName = denyAssignmentName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The description of the deny assignment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The description of the deny assignment.
+ *
+ * @param description the description value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the permissions property: An array of permissions that are denied by the deny assignment.
+ *
+ * @return the permissions value.
+ */
+ public List permissions() {
+ return this.permissions;
+ }
+
+ /**
+ * Set the permissions property: An array of permissions that are denied by the deny assignment.
+ *
+ * @param permissions the permissions value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withPermissions(List permissions) {
+ this.permissions = permissions;
+ return this;
+ }
+
+ /**
+ * Get the scope property: The deny assignment scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The deny assignment scope.
+ *
+ * @param scope the scope value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default
+ * value is false.
+ *
+ * @return the doNotApplyToChildScopes value.
+ */
+ public Boolean doNotApplyToChildScopes() {
+ return this.doNotApplyToChildScopes;
+ }
+
+ /**
+ * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default
+ * value is false.
+ *
+ * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) {
+ this.doNotApplyToChildScopes = doNotApplyToChildScopes;
+ return this;
+ }
+
+ /**
+ * Get the principals property: Array of principals to which the deny assignment applies.
+ *
+ * @return the principals value.
+ */
+ public List principals() {
+ return this.principals;
+ }
+
+ /**
+ * Set the principals property: Array of principals to which the deny assignment applies.
+ *
+ * @param principals the principals value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withPrincipals(List principals) {
+ this.principals = principals;
+ return this;
+ }
+
+ /**
+ * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply.
+ *
+ * @return the excludePrincipals value.
+ */
+ public List excludePrincipals() {
+ return this.excludePrincipals;
+ }
+
+ /**
+ * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply.
+ *
+ * @param excludePrincipals the excludePrincipals value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withExcludePrincipals(List excludePrincipals) {
+ this.excludePrincipals = excludePrincipals;
+ return this;
+ }
+
+ /**
+ * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be
+ * edited or deleted.
+ *
+ * @return the isSystemProtected value.
+ */
+ public Boolean isSystemProtected() {
+ return this.isSystemProtected;
+ }
+
+ /**
+ * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be
+ * edited or deleted.
+ *
+ * @param isSystemProtected the isSystemProtected value to set.
+ * @return the DenyAssignmentProperties object itself.
+ */
+ public DenyAssignmentProperties withIsSystemProtected(Boolean isSystemProtected) {
+ this.isSystemProtected = isSystemProtected;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (permissions() != null) {
+ permissions().forEach(e -> e.validate());
+ }
+ if (principals() != null) {
+ principals().forEach(e -> e.validate());
+ }
+ if (excludePrincipals() != null) {
+ excludePrincipals().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java
new file mode 100644
index 000000000000..6dc8a7e45b5e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Eligible child resource. */
+@Immutable
+public final class EligibleChildResourceInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(EligibleChildResourceInner.class);
+
+ /*
+ * The resource scope Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The resource name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The resource type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /**
+ * Get the id property: The resource scope Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The resource name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * 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/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 000000000000..d18a01d6d221
--- /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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The definition of a Microsoft.Authorization operation. */
+@Fluent
+public final class OperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class);
+
+ /*
+ * 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;
+
+ /**
+ * 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/PermissionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java
new file mode 100644
index 000000000000..43bc4095fc45
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Role definition permissions. */
+@Fluent
+public final class PermissionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(PermissionInner.class);
+
+ /*
+ * Allowed actions.
+ */
+ @JsonProperty(value = "actions")
+ private List actions;
+
+ /*
+ * Denied actions.
+ */
+ @JsonProperty(value = "notActions")
+ private List notActions;
+
+ /*
+ * Allowed Data actions.
+ */
+ @JsonProperty(value = "dataActions")
+ private List dataActions;
+
+ /*
+ * Denied Data actions.
+ */
+ @JsonProperty(value = "notDataActions")
+ private List notDataActions;
+
+ /**
+ * Get the actions property: Allowed actions.
+ *
+ * @return the actions value.
+ */
+ public List actions() {
+ return this.actions;
+ }
+
+ /**
+ * Set the actions property: Allowed actions.
+ *
+ * @param actions the actions value to set.
+ * @return the PermissionInner object itself.
+ */
+ public PermissionInner withActions(List actions) {
+ this.actions = actions;
+ return this;
+ }
+
+ /**
+ * Get the notActions property: Denied actions.
+ *
+ * @return the notActions value.
+ */
+ public List notActions() {
+ return this.notActions;
+ }
+
+ /**
+ * Set the notActions property: Denied actions.
+ *
+ * @param notActions the notActions value to set.
+ * @return the PermissionInner object itself.
+ */
+ public PermissionInner withNotActions(List notActions) {
+ this.notActions = notActions;
+ return this;
+ }
+
+ /**
+ * Get the dataActions property: Allowed Data actions.
+ *
+ * @return the dataActions value.
+ */
+ public List dataActions() {
+ return this.dataActions;
+ }
+
+ /**
+ * Set the dataActions property: Allowed Data actions.
+ *
+ * @param dataActions the dataActions value to set.
+ * @return the PermissionInner object itself.
+ */
+ public PermissionInner withDataActions(List dataActions) {
+ this.dataActions = dataActions;
+ return this;
+ }
+
+ /**
+ * Get the notDataActions property: Denied Data actions.
+ *
+ * @return the notDataActions value.
+ */
+ public List notDataActions() {
+ return this.notDataActions;
+ }
+
+ /**
+ * Set the notDataActions property: Denied Data actions.
+ *
+ * @param notDataActions the notDataActions value to set.
+ * @return the PermissionInner object itself.
+ */
+ public PermissionInner withNotDataActions(List notDataActions) {
+ this.notDataActions = notDataActions;
+ 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/ProviderOperationsMetadataInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java
new file mode 100644
index 000000000000..45a10f33c291
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java
@@ -0,0 +1,189 @@
+// Copyright (c) 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.ProviderOperation;
+import com.azure.resourcemanager.authorization.generated.models.ResourceType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Provider Operations metadata. */
+@Fluent
+public final class ProviderOperationsMetadataInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ProviderOperationsMetadataInner.class);
+
+ /*
+ * The provider id.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * The provider name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The provider type.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /*
+ * The provider display name.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * The provider resource types
+ */
+ @JsonProperty(value = "resourceTypes")
+ private List resourceTypes;
+
+ /*
+ * The provider operations.
+ */
+ @JsonProperty(value = "operations")
+ private List operations;
+
+ /**
+ * Get the id property: The provider id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The provider id.
+ *
+ * @param id the id value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: The provider name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The provider name.
+ *
+ * @param name the name value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the type property: The provider type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The provider type.
+ *
+ * @param type the type value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The provider display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The provider display name.
+ *
+ * @param displayName the displayName value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the resourceTypes property: The provider resource types.
+ *
+ * @return the resourceTypes value.
+ */
+ public List resourceTypes() {
+ return this.resourceTypes;
+ }
+
+ /**
+ * Set the resourceTypes property: The provider resource types.
+ *
+ * @param resourceTypes the resourceTypes value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withResourceTypes(List resourceTypes) {
+ this.resourceTypes = resourceTypes;
+ return this;
+ }
+
+ /**
+ * Get the operations property: The provider operations.
+ *
+ * @return the operations value.
+ */
+ public List operations() {
+ return this.operations;
+ }
+
+ /**
+ * Set the operations property: The provider operations.
+ *
+ * @param operations the operations value to set.
+ * @return the ProviderOperationsMetadataInner object itself.
+ */
+ public ProviderOperationsMetadataInner withOperations(List operations) {
+ this.operations = operations;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (resourceTypes() != null) {
+ resourceTypes().forEach(e -> e.validate());
+ }
+ if (operations() != null) {
+ operations().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java
new file mode 100644
index 000000000000..70d27c67babe
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java
@@ -0,0 +1,255 @@
+// Copyright (c) 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.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role Assignments. */
+@Fluent
+public final class RoleAssignmentInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentInner.class);
+
+ /*
+ * Role assignment properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleAssignmentProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Role assignment properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleAssignmentProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role assignment scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withPrincipalType(PrincipalType principalType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withPrincipalType(principalType);
+ return this;
+ }
+
+ /**
+ * Get the description property: Description of role assignment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: Description of role assignment.
+ *
+ * @param description the description value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: Time it was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Get the updatedOn property: Time it was updated.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedOn();
+ }
+
+ /**
+ * Get the createdBy property: Id of the user who created the assignment.
+ *
+ * @return the createdBy value.
+ */
+ public String createdBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdBy();
+ }
+
+ /**
+ * Get the updatedBy property: Id of the user who updated the assignment.
+ *
+ * @return the updatedBy value.
+ */
+ public String updatedBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedBy();
+ }
+
+ /**
+ * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource.
+ *
+ * @return the delegatedManagedIdentityResourceId value.
+ */
+ public String delegatedManagedIdentityResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().delegatedManagedIdentityResourceId();
+ }
+
+ /**
+ * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource.
+ *
+ * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set.
+ * @return the RoleAssignmentInner object itself.
+ */
+ public RoleAssignmentInner withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentProperties();
+ }
+ this.innerProperties().withDelegatedManagedIdentityResourceId(delegatedManagedIdentityResourceId);
+ 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/RoleAssignmentMetricsResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java
new file mode 100644
index 000000000000..c14a3724794e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.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.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Role Assignment Metrics. */
+@Immutable
+public final class RoleAssignmentMetricsResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentMetricsResultInner.class);
+
+ /*
+ * The subscription ID.
+ */
+ @JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String subscriptionId;
+
+ /*
+ * The role assignment limit.
+ */
+ @JsonProperty(value = "roleAssignmentsLimit", access = JsonProperty.Access.WRITE_ONLY)
+ private Long roleAssignmentsLimit;
+
+ /*
+ * The number of current role assignments.
+ */
+ @JsonProperty(value = "roleAssignmentsCurrentCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Long roleAssignmentsCurrentCount;
+
+ /*
+ * The number of remaining role assignments available.
+ */
+ @JsonProperty(value = "roleAssignmentsRemainingCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Long roleAssignmentsRemainingCount;
+
+ /**
+ * Get the subscriptionId property: The subscription ID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Get the roleAssignmentsLimit property: The role assignment limit.
+ *
+ * @return the roleAssignmentsLimit value.
+ */
+ public Long roleAssignmentsLimit() {
+ return this.roleAssignmentsLimit;
+ }
+
+ /**
+ * Get the roleAssignmentsCurrentCount property: The number of current role assignments.
+ *
+ * @return the roleAssignmentsCurrentCount value.
+ */
+ public Long roleAssignmentsCurrentCount() {
+ return this.roleAssignmentsCurrentCount;
+ }
+
+ /**
+ * Get the roleAssignmentsRemainingCount property: The number of remaining role assignments available.
+ *
+ * @return the roleAssignmentsRemainingCount value.
+ */
+ public Long roleAssignmentsRemainingCount() {
+ return this.roleAssignmentsRemainingCount;
+ }
+
+ /**
+ * 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/RoleAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java
new file mode 100644
index 000000000000..7fb1592673ba
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java
@@ -0,0 +1,302 @@
+// Copyright (c) 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.PrincipalType;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role assignment properties. */
+@Fluent
+public final class RoleAssignmentProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentProperties.class);
+
+ /*
+ * The role assignment scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId", required = true)
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId", required = true)
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType")
+ private PrincipalType principalType;
+
+ /*
+ * Description of role assignment
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * Time it was created
+ */
+ @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdOn;
+
+ /*
+ * Time it was updated
+ */
+ @JsonProperty(value = "updatedOn", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime updatedOn;
+
+ /*
+ * Id of the user who created the assignment
+ */
+ @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY)
+ private String createdBy;
+
+ /*
+ * Id of the user who updated the assignment
+ */
+ @JsonProperty(value = "updatedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private String updatedBy;
+
+ /*
+ * Id of the delegated managed identity resource
+ */
+ @JsonProperty(value = "delegatedManagedIdentityResourceId")
+ private String delegatedManagedIdentityResourceId;
+
+ /**
+ * Get the scope property: The role assignment scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the description property: Description of role assignment.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: Description of role assignment.
+ *
+ * @param description the description value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: Time it was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Get the updatedOn property: Time it was updated.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.updatedOn;
+ }
+
+ /**
+ * Get the createdBy property: Id of the user who created the assignment.
+ *
+ * @return the createdBy value.
+ */
+ public String createdBy() {
+ return this.createdBy;
+ }
+
+ /**
+ * Get the updatedBy property: Id of the user who updated the assignment.
+ *
+ * @return the updatedBy value.
+ */
+ public String updatedBy() {
+ return this.updatedBy;
+ }
+
+ /**
+ * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource.
+ *
+ * @return the delegatedManagedIdentityResourceId value.
+ */
+ public String delegatedManagedIdentityResourceId() {
+ return this.delegatedManagedIdentityResourceId;
+ }
+
+ /**
+ * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource.
+ *
+ * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set.
+ * @return the RoleAssignmentProperties object itself.
+ */
+ public RoleAssignmentProperties withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) {
+ this.delegatedManagedIdentityResourceId = delegatedManagedIdentityResourceId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (roleDefinitionId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property roleDefinitionId in model RoleAssignmentProperties"));
+ }
+ if (principalId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property principalId in model RoleAssignmentProperties"));
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java
new file mode 100644
index 000000000000..d1f68fb5282a
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java
@@ -0,0 +1,469 @@
+// Copyright (c) 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.AssignmentType;
+import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role Assignment schedule. */
+@Fluent
+public final class RoleAssignmentScheduleInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInner.class);
+
+ /*
+ * The role assignment schedule Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role assignment schedule name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role assignment schedule type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role assignment schedule properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleAssignmentScheduleProperties innerProperties;
+
+ /**
+ * Get the id property: The role assignment schedule Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role assignment schedule name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role assignment schedule type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role assignment schedule properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleAssignmentScheduleProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role assignment schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role assignment schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withPrincipalType(PrincipalType principalType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withPrincipalType(principalType);
+ return this;
+ }
+
+ /**
+ * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @return the roleAssignmentScheduleRequestId value.
+ */
+ public String roleAssignmentScheduleRequestId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleRequestId();
+ }
+
+ /**
+ * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withRoleAssignmentScheduleRequestId(String roleAssignmentScheduleRequestId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withRoleAssignmentScheduleRequestId(roleAssignmentScheduleRequestId);
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this
+ * roleAssignmentSchedule.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId();
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this
+ * roleAssignmentSchedule.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withLinkedRoleEligibilityScheduleId(String linkedRoleEligibilityScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @return the assignmentType value.
+ */
+ public AssignmentType assignmentType() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignmentType();
+ }
+
+ /**
+ * Set the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @param assignmentType the assignmentType value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withAssignmentType(AssignmentType assignmentType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withAssignmentType(assignmentType);
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role assignment schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.innerProperties() == null ? null : this.innerProperties().memberType();
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role assignment schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withMemberType(MemberType memberType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withMemberType(memberType);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the role assignment schedule.
+ *
+ * @param status the status value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withStatus(Status status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: Start DateTime when role assignment schedule.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDateTime();
+ }
+
+ /**
+ * Set the startDateTime property: Start DateTime when role assignment schedule.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withStartDateTime(OffsetDateTime startDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withStartDateTime(startDateTime);
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: End DateTime when role assignment schedule.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDateTime();
+ }
+
+ /**
+ * Set the endDateTime property: End DateTime when role assignment schedule.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withEndDateTime(OffsetDateTime endDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withEndDateTime(endDateTime);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withCreatedOn(OffsetDateTime createdOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withCreatedOn(createdOn);
+ return this;
+ }
+
+ /**
+ * Get the updatedOn property: DateTime when role assignment schedule was modified.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedOn();
+ }
+
+ /**
+ * Set the updatedOn property: DateTime when role assignment schedule was modified.
+ *
+ * @param updatedOn the updatedOn value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withUpdatedOn(OffsetDateTime updatedOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withUpdatedOn(updatedOn);
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleAssignmentScheduleInner object itself.
+ */
+ public RoleAssignmentScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleProperties();
+ }
+ this.innerProperties().withExpandedProperties(expandedProperties);
+ 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/RoleAssignmentScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java
new file mode 100644
index 000000000000..b679bfd277ca
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java
@@ -0,0 +1,492 @@
+// Copyright (c) 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.AssignmentType;
+import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Information about current or upcoming role assignment schedule instance. */
+@Fluent
+public final class RoleAssignmentScheduleInstanceInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstanceInner.class);
+
+ /*
+ * The role assignment schedule instance ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role assignment schedule instance name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role assignment schedule instance type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role assignment schedule instance properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleAssignmentScheduleInstanceProperties innerProperties;
+
+ /**
+ * Get the id property: The role assignment schedule instance ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role assignment schedule instance name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role assignment schedule instance type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role assignment schedule instance properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleAssignmentScheduleInstanceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role assignment schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role assignment schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withPrincipalType(PrincipalType principalType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withPrincipalType(principalType);
+ return this;
+ }
+
+ /**
+ * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule.
+ *
+ * @return the roleAssignmentScheduleId value.
+ */
+ public String roleAssignmentScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleId();
+ }
+
+ /**
+ * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule.
+ *
+ * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withRoleAssignmentScheduleId(String roleAssignmentScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withRoleAssignmentScheduleId(roleAssignmentScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the originRoleAssignmentId property: Role Assignment Id in external system.
+ *
+ * @return the originRoleAssignmentId value.
+ */
+ public String originRoleAssignmentId() {
+ return this.innerProperties() == null ? null : this.innerProperties().originRoleAssignmentId();
+ }
+
+ /**
+ * Set the originRoleAssignmentId property: Role Assignment Id in external system.
+ *
+ * @param originRoleAssignmentId the originRoleAssignmentId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withOriginRoleAssignmentId(String originRoleAssignmentId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withOriginRoleAssignmentId(originRoleAssignmentId);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule instance.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the role assignment schedule instance.
+ *
+ * @param status the status value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withStatus(Status status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: The startDateTime of the role assignment schedule instance.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDateTime();
+ }
+
+ /**
+ * Set the startDateTime property: The startDateTime of the role assignment schedule instance.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withStartDateTime(startDateTime);
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The endDateTime of the role assignment schedule instance.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDateTime();
+ }
+
+ /**
+ * Set the endDateTime property: The endDateTime of the role assignment schedule instance.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withEndDateTime(endDateTime);
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId();
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleId(
+ String linkedRoleEligibilityScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this
+ * roleAssignmentScheduleInstance.
+ *
+ * @return the linkedRoleEligibilityScheduleInstanceId value.
+ */
+ public String linkedRoleEligibilityScheduleInstanceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleInstanceId();
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this
+ * roleAssignmentScheduleInstance.
+ *
+ * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleInstanceId(
+ String linkedRoleEligibilityScheduleInstanceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withLinkedRoleEligibilityScheduleInstanceId(linkedRoleEligibilityScheduleInstanceId);
+ return this;
+ }
+
+ /**
+ * Get the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @return the assignmentType value.
+ */
+ public AssignmentType assignmentType() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignmentType();
+ }
+
+ /**
+ * Set the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @param assignmentType the assignmentType value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withAssignmentType(AssignmentType assignmentType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withAssignmentType(assignmentType);
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role assignment schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.innerProperties() == null ? null : this.innerProperties().memberType();
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role assignment schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withMemberType(MemberType memberType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withMemberType(memberType);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withCreatedOn(createdOn);
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleAssignmentScheduleInstanceInner object itself.
+ */
+ public RoleAssignmentScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleInstanceProperties();
+ }
+ this.innerProperties().withExpandedProperties(expandedProperties);
+ 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/RoleAssignmentScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java
new file mode 100644
index 000000000000..aefa8513acbf
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java
@@ -0,0 +1,487 @@
+// Copyright (c) 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.AssignmentType;
+import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role assignment schedule properties with scope. */
+@Fluent
+public final class RoleAssignmentScheduleInstanceProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstanceProperties.class);
+
+ /*
+ * The role assignment schedule scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId")
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType")
+ private PrincipalType principalType;
+
+ /*
+ * Id of the master role assignment schedule
+ */
+ @JsonProperty(value = "roleAssignmentScheduleId")
+ private String roleAssignmentScheduleId;
+
+ /*
+ * Role Assignment Id in external system
+ */
+ @JsonProperty(value = "originRoleAssignmentId")
+ private String originRoleAssignmentId;
+
+ /*
+ * The status of the role assignment schedule instance.
+ */
+ @JsonProperty(value = "status")
+ private Status status;
+
+ /*
+ * The startDateTime of the role assignment schedule instance
+ */
+ @JsonProperty(value = "startDateTime")
+ private OffsetDateTime startDateTime;
+
+ /*
+ * The endDateTime of the role assignment schedule instance
+ */
+ @JsonProperty(value = "endDateTime")
+ private OffsetDateTime endDateTime;
+
+ /*
+ * roleEligibilityScheduleId used to activate
+ */
+ @JsonProperty(value = "linkedRoleEligibilityScheduleId")
+ private String linkedRoleEligibilityScheduleId;
+
+ /*
+ * roleEligibilityScheduleInstanceId linked to this
+ * roleAssignmentScheduleInstance
+ */
+ @JsonProperty(value = "linkedRoleEligibilityScheduleInstanceId")
+ private String linkedRoleEligibilityScheduleInstanceId;
+
+ /*
+ * Assignment type of the role assignment schedule
+ */
+ @JsonProperty(value = "assignmentType")
+ private AssignmentType assignmentType;
+
+ /*
+ * Membership type of the role assignment schedule
+ */
+ @JsonProperty(value = "memberType")
+ private MemberType memberType;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role assignment schedule was created
+ */
+ @JsonProperty(value = "createdOn")
+ private OffsetDateTime createdOn;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties")
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role assignment schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role assignment schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule.
+ *
+ * @return the roleAssignmentScheduleId value.
+ */
+ public String roleAssignmentScheduleId() {
+ return this.roleAssignmentScheduleId;
+ }
+
+ /**
+ * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule.
+ *
+ * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withRoleAssignmentScheduleId(String roleAssignmentScheduleId) {
+ this.roleAssignmentScheduleId = roleAssignmentScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the originRoleAssignmentId property: Role Assignment Id in external system.
+ *
+ * @return the originRoleAssignmentId value.
+ */
+ public String originRoleAssignmentId() {
+ return this.originRoleAssignmentId;
+ }
+
+ /**
+ * Set the originRoleAssignmentId property: Role Assignment Id in external system.
+ *
+ * @param originRoleAssignmentId the originRoleAssignmentId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withOriginRoleAssignmentId(String originRoleAssignmentId) {
+ this.originRoleAssignmentId = originRoleAssignmentId;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule instance.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the role assignment schedule instance.
+ *
+ * @param status the status value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withStatus(Status status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: The startDateTime of the role assignment schedule instance.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Set the startDateTime property: The startDateTime of the role assignment schedule instance.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) {
+ this.startDateTime = startDateTime;
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The endDateTime of the role assignment schedule instance.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.endDateTime;
+ }
+
+ /**
+ * Set the endDateTime property: The endDateTime of the role assignment schedule instance.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) {
+ this.endDateTime = endDateTime;
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.linkedRoleEligibilityScheduleId;
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleId(
+ String linkedRoleEligibilityScheduleId) {
+ this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this
+ * roleAssignmentScheduleInstance.
+ *
+ * @return the linkedRoleEligibilityScheduleInstanceId value.
+ */
+ public String linkedRoleEligibilityScheduleInstanceId() {
+ return this.linkedRoleEligibilityScheduleInstanceId;
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this
+ * roleAssignmentScheduleInstance.
+ *
+ * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleInstanceId(
+ String linkedRoleEligibilityScheduleInstanceId) {
+ this.linkedRoleEligibilityScheduleInstanceId = linkedRoleEligibilityScheduleInstanceId;
+ return this;
+ }
+
+ /**
+ * Get the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @return the assignmentType value.
+ */
+ public AssignmentType assignmentType() {
+ return this.assignmentType;
+ }
+
+ /**
+ * Set the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @param assignmentType the assignmentType value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withAssignmentType(AssignmentType assignmentType) {
+ this.assignmentType = assignmentType;
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role assignment schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.memberType;
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role assignment schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withMemberType(MemberType memberType) {
+ this.memberType = memberType;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) {
+ this.createdOn = createdOn;
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleAssignmentScheduleInstanceProperties object itself.
+ */
+ public RoleAssignmentScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) {
+ this.expandedProperties = expandedProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java
new file mode 100644
index 000000000000..0516867dd2c1
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java
@@ -0,0 +1,464 @@
+// Copyright (c) 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.AssignmentType;
+import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role assignment schedule properties with scope. */
+@Fluent
+public final class RoleAssignmentScheduleProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleProperties.class);
+
+ /*
+ * The role assignment schedule scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId")
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType")
+ private PrincipalType principalType;
+
+ /*
+ * The id of roleAssignmentScheduleRequest used to create this
+ * roleAssignmentSchedule
+ */
+ @JsonProperty(value = "roleAssignmentScheduleRequestId")
+ private String roleAssignmentScheduleRequestId;
+
+ /*
+ * The id of roleEligibilitySchedule used to activated this
+ * roleAssignmentSchedule
+ */
+ @JsonProperty(value = "linkedRoleEligibilityScheduleId")
+ private String linkedRoleEligibilityScheduleId;
+
+ /*
+ * Assignment type of the role assignment schedule
+ */
+ @JsonProperty(value = "assignmentType")
+ private AssignmentType assignmentType;
+
+ /*
+ * Membership type of the role assignment schedule
+ */
+ @JsonProperty(value = "memberType")
+ private MemberType memberType;
+
+ /*
+ * The status of the role assignment schedule.
+ */
+ @JsonProperty(value = "status")
+ private Status status;
+
+ /*
+ * Start DateTime when role assignment schedule
+ */
+ @JsonProperty(value = "startDateTime")
+ private OffsetDateTime startDateTime;
+
+ /*
+ * End DateTime when role assignment schedule
+ */
+ @JsonProperty(value = "endDateTime")
+ private OffsetDateTime endDateTime;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role assignment schedule was created
+ */
+ @JsonProperty(value = "createdOn")
+ private OffsetDateTime createdOn;
+
+ /*
+ * DateTime when role assignment schedule was modified
+ */
+ @JsonProperty(value = "updatedOn")
+ private OffsetDateTime updatedOn;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties")
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role assignment schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role assignment schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @return the roleAssignmentScheduleRequestId value.
+ */
+ public String roleAssignmentScheduleRequestId() {
+ return this.roleAssignmentScheduleRequestId;
+ }
+
+ /**
+ * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withRoleAssignmentScheduleRequestId(
+ String roleAssignmentScheduleRequestId) {
+ this.roleAssignmentScheduleRequestId = roleAssignmentScheduleRequestId;
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this
+ * roleAssignmentSchedule.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.linkedRoleEligibilityScheduleId;
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this
+ * roleAssignmentSchedule.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withLinkedRoleEligibilityScheduleId(
+ String linkedRoleEligibilityScheduleId) {
+ this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @return the assignmentType value.
+ */
+ public AssignmentType assignmentType() {
+ return this.assignmentType;
+ }
+
+ /**
+ * Set the assignmentType property: Assignment type of the role assignment schedule.
+ *
+ * @param assignmentType the assignmentType value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withAssignmentType(AssignmentType assignmentType) {
+ this.assignmentType = assignmentType;
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role assignment schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.memberType;
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role assignment schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withMemberType(MemberType memberType) {
+ this.memberType = memberType;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the role assignment schedule.
+ *
+ * @param status the status value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withStatus(Status status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: Start DateTime when role assignment schedule.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Set the startDateTime property: Start DateTime when role assignment schedule.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withStartDateTime(OffsetDateTime startDateTime) {
+ this.startDateTime = startDateTime;
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: End DateTime when role assignment schedule.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.endDateTime;
+ }
+
+ /**
+ * Set the endDateTime property: End DateTime when role assignment schedule.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withEndDateTime(OffsetDateTime endDateTime) {
+ this.endDateTime = endDateTime;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role assignment schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withCreatedOn(OffsetDateTime createdOn) {
+ this.createdOn = createdOn;
+ return this;
+ }
+
+ /**
+ * Get the updatedOn property: DateTime when role assignment schedule was modified.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.updatedOn;
+ }
+
+ /**
+ * Set the updatedOn property: DateTime when role assignment schedule was modified.
+ *
+ * @param updatedOn the updatedOn value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) {
+ this.updatedOn = updatedOn;
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleAssignmentScheduleProperties object itself.
+ */
+ public RoleAssignmentScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) {
+ this.expandedProperties = expandedProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java
new file mode 100644
index 000000000000..60ce1a403640
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java
@@ -0,0 +1,425 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role Assignment schedule request. */
+@Fluent
+public final class RoleAssignmentScheduleRequestInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestInner.class);
+
+ /*
+ * The role assignment schedule request ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role assignment schedule request name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role assignment schedule request type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role assignment schedule request properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleAssignmentScheduleRequestProperties innerProperties;
+
+ /**
+ * Get the id property: The role assignment schedule request ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role assignment schedule request name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role assignment schedule request type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role assignment schedule request properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleAssignmentScheduleRequestProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role assignment schedule request scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @return the requestType value.
+ */
+ public RequestType requestType() {
+ return this.innerProperties() == null ? null : this.innerProperties().requestType();
+ }
+
+ /**
+ * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @param requestType the requestType value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withRequestType(RequestType requestType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withRequestType(requestType);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule request.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the approvalId property: The approvalId of the role assignment schedule request.
+ *
+ * @return the approvalId value.
+ */
+ public String approvalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().approvalId();
+ }
+
+ /**
+ * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment
+ * schedule id being updated.
+ *
+ * @return the targetRoleAssignmentScheduleId value.
+ */
+ public String targetRoleAssignmentScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleId();
+ }
+
+ /**
+ * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment
+ * schedule id being updated.
+ *
+ * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleId(
+ String targetRoleAssignmentScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withTargetRoleAssignmentScheduleId(targetRoleAssignmentScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated.
+ *
+ * @return the targetRoleAssignmentScheduleInstanceId value.
+ */
+ public String targetRoleAssignmentScheduleInstanceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleInstanceId();
+ }
+
+ /**
+ * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated.
+ *
+ * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleInstanceId(
+ String targetRoleAssignmentScheduleInstanceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withTargetRoleAssignmentScheduleInstanceId(targetRoleAssignmentScheduleInstanceId);
+ return this;
+ }
+
+ /**
+ * Get the scheduleInfo property: Schedule info of the role assignment schedule.
+ *
+ * @return the scheduleInfo value.
+ */
+ public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo();
+ }
+
+ /**
+ * Set the scheduleInfo property: Schedule info of the role assignment schedule.
+ *
+ * @param scheduleInfo the scheduleInfo value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withScheduleInfo(
+ RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withScheduleInfo(scheduleInfo);
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an
+ * eligibility.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId();
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an
+ * eligibility.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withLinkedRoleEligibilityScheduleId(
+ String linkedRoleEligibilityScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification for the role assignment.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.innerProperties() == null ? null : this.innerProperties().justification();
+ }
+
+ /**
+ * Set the justification property: Justification for the role assignment.
+ *
+ * @param justification the justification value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withJustification(String justification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withJustification(justification);
+ return this;
+ }
+
+ /**
+ * Get the ticketInfo property: Ticket Info of the role assignment.
+ *
+ * @return the ticketInfo value.
+ */
+ public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().ticketInfo();
+ }
+
+ /**
+ * Set the ticketInfo property: Ticket Info of the role assignment.
+ *
+ * @param ticketInfo the ticketInfo value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withTicketInfo(
+ RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withTicketInfo(ticketInfo);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleRequestInner object itself.
+ */
+ public RoleAssignmentScheduleRequestInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleAssignmentScheduleRequestProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule request was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Get the requestorId property: Id of the user who created this request.
+ *
+ * @return the requestorId value.
+ */
+ public String requestorId() {
+ return this.innerProperties() == null ? null : this.innerProperties().requestorId();
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * 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/RoleAssignmentScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java
new file mode 100644
index 000000000000..1d283e872d24
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java
@@ -0,0 +1,469 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role assignment schedule request properties with scope. */
+@Fluent
+public final class RoleAssignmentScheduleRequestProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestProperties.class);
+
+ /*
+ * The role assignment schedule request scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId", required = true)
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId", required = true)
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY)
+ private PrincipalType principalType;
+
+ /*
+ * The type of the role assignment schedule request. Eg: SelfActivate,
+ * AdminAssign etc
+ */
+ @JsonProperty(value = "requestType", required = true)
+ private RequestType requestType;
+
+ /*
+ * The status of the role assignment schedule request.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private Status status;
+
+ /*
+ * The approvalId of the role assignment schedule request.
+ */
+ @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String approvalId;
+
+ /*
+ * The resultant role assignment schedule id or the role assignment
+ * schedule id being updated
+ */
+ @JsonProperty(value = "targetRoleAssignmentScheduleId")
+ private String targetRoleAssignmentScheduleId;
+
+ /*
+ * The role assignment schedule instance id being updated
+ */
+ @JsonProperty(value = "targetRoleAssignmentScheduleInstanceId")
+ private String targetRoleAssignmentScheduleInstanceId;
+
+ /*
+ * Schedule info of the role assignment schedule
+ */
+ @JsonProperty(value = "scheduleInfo")
+ private RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo;
+
+ /*
+ * The linked role eligibility schedule id - to activate an eligibility.
+ */
+ @JsonProperty(value = "linkedRoleEligibilityScheduleId")
+ private String linkedRoleEligibilityScheduleId;
+
+ /*
+ * Justification for the role assignment
+ */
+ @JsonProperty(value = "justification")
+ private String justification;
+
+ /*
+ * Ticket Info of the role assignment
+ */
+ @JsonProperty(value = "ticketInfo")
+ private RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role assignment schedule request was created
+ */
+ @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdOn;
+
+ /*
+ * Id of the user who created this request
+ */
+ @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY)
+ private String requestorId;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role assignment schedule request scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @return the requestType value.
+ */
+ public RequestType requestType() {
+ return this.requestType;
+ }
+
+ /**
+ * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @param requestType the requestType value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withRequestType(RequestType requestType) {
+ this.requestType = requestType;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role assignment schedule request.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Get the approvalId property: The approvalId of the role assignment schedule request.
+ *
+ * @return the approvalId value.
+ */
+ public String approvalId() {
+ return this.approvalId;
+ }
+
+ /**
+ * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment
+ * schedule id being updated.
+ *
+ * @return the targetRoleAssignmentScheduleId value.
+ */
+ public String targetRoleAssignmentScheduleId() {
+ return this.targetRoleAssignmentScheduleId;
+ }
+
+ /**
+ * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment
+ * schedule id being updated.
+ *
+ * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleId(
+ String targetRoleAssignmentScheduleId) {
+ this.targetRoleAssignmentScheduleId = targetRoleAssignmentScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated.
+ *
+ * @return the targetRoleAssignmentScheduleInstanceId value.
+ */
+ public String targetRoleAssignmentScheduleInstanceId() {
+ return this.targetRoleAssignmentScheduleInstanceId;
+ }
+
+ /**
+ * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated.
+ *
+ * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleInstanceId(
+ String targetRoleAssignmentScheduleInstanceId) {
+ this.targetRoleAssignmentScheduleInstanceId = targetRoleAssignmentScheduleInstanceId;
+ return this;
+ }
+
+ /**
+ * Get the scheduleInfo property: Schedule info of the role assignment schedule.
+ *
+ * @return the scheduleInfo value.
+ */
+ public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() {
+ return this.scheduleInfo;
+ }
+
+ /**
+ * Set the scheduleInfo property: Schedule info of the role assignment schedule.
+ *
+ * @param scheduleInfo the scheduleInfo value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withScheduleInfo(
+ RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) {
+ this.scheduleInfo = scheduleInfo;
+ return this;
+ }
+
+ /**
+ * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an
+ * eligibility.
+ *
+ * @return the linkedRoleEligibilityScheduleId value.
+ */
+ public String linkedRoleEligibilityScheduleId() {
+ return this.linkedRoleEligibilityScheduleId;
+ }
+
+ /**
+ * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an
+ * eligibility.
+ *
+ * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withLinkedRoleEligibilityScheduleId(
+ String linkedRoleEligibilityScheduleId) {
+ this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification for the role assignment.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.justification;
+ }
+
+ /**
+ * Set the justification property: Justification for the role assignment.
+ *
+ * @param justification the justification value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withJustification(String justification) {
+ this.justification = justification;
+ return this;
+ }
+
+ /**
+ * Get the ticketInfo property: Ticket Info of the role assignment.
+ *
+ * @return the ticketInfo value.
+ */
+ public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() {
+ return this.ticketInfo;
+ }
+
+ /**
+ * Set the ticketInfo property: Ticket Info of the role assignment.
+ *
+ * @param ticketInfo the ticketInfo value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withTicketInfo(
+ RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) {
+ this.ticketInfo = ticketInfo;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleAssignmentScheduleRequestProperties object itself.
+ */
+ public RoleAssignmentScheduleRequestProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role assignment schedule request was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Get the requestorId property: Id of the user who created this request.
+ *
+ * @return the requestorId value.
+ */
+ public String requestorId() {
+ return this.requestorId;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (roleDefinitionId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property roleDefinitionId in model RoleAssignmentScheduleRequestProperties"));
+ }
+ if (principalId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property principalId in model RoleAssignmentScheduleRequestProperties"));
+ }
+ if (requestType() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property requestType in model RoleAssignmentScheduleRequestProperties"));
+ }
+ if (scheduleInfo() != null) {
+ scheduleInfo().validate();
+ }
+ if (ticketInfo() != null) {
+ ticketInfo().validate();
+ }
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java
new file mode 100644
index 000000000000..df039ac89fdb
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java
@@ -0,0 +1,203 @@
+// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Role definition. */
+@Fluent
+public final class RoleDefinitionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleDefinitionInner.class);
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role definition name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role definition type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role definition properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleDefinitionProperties innerProperties;
+
+ /**
+ * Get the id property: The role definition ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role definition name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role definition type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role definition properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleDefinitionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the roleName property: The role name.
+ *
+ * @return the roleName value.
+ */
+ public String roleName() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleName();
+ }
+
+ /**
+ * Set the roleName property: The role name.
+ *
+ * @param roleName the roleName value to set.
+ * @return the RoleDefinitionInner object itself.
+ */
+ public RoleDefinitionInner withRoleName(String roleName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleDefinitionProperties();
+ }
+ this.innerProperties().withRoleName(roleName);
+ return this;
+ }
+
+ /**
+ * Get the description property: The role definition description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: The role definition description.
+ *
+ * @param description the description value to set.
+ * @return the RoleDefinitionInner object itself.
+ */
+ public RoleDefinitionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleDefinitionProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the roleType property: The role type.
+ *
+ * @return the roleType value.
+ */
+ public String roleType() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleType();
+ }
+
+ /**
+ * Set the roleType property: The role type.
+ *
+ * @param roleType the roleType value to set.
+ * @return the RoleDefinitionInner object itself.
+ */
+ public RoleDefinitionInner withRoleType(String roleType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleDefinitionProperties();
+ }
+ this.innerProperties().withRoleType(roleType);
+ return this;
+ }
+
+ /**
+ * Get the permissions property: Role definition permissions.
+ *
+ * @return the permissions value.
+ */
+ public List permissions() {
+ return this.innerProperties() == null ? null : this.innerProperties().permissions();
+ }
+
+ /**
+ * Set the permissions property: Role definition permissions.
+ *
+ * @param permissions the permissions value to set.
+ * @return the RoleDefinitionInner object itself.
+ */
+ public RoleDefinitionInner withPermissions(List permissions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleDefinitionProperties();
+ }
+ this.innerProperties().withPermissions(permissions);
+ return this;
+ }
+
+ /**
+ * Get the assignableScopes property: Role definition assignable scopes.
+ *
+ * @return the assignableScopes value.
+ */
+ public List assignableScopes() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignableScopes();
+ }
+
+ /**
+ * Set the assignableScopes property: Role definition assignable scopes.
+ *
+ * @param assignableScopes the assignableScopes value to set.
+ * @return the RoleDefinitionInner object itself.
+ */
+ public RoleDefinitionInner withAssignableScopes(List assignableScopes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleDefinitionProperties();
+ }
+ this.innerProperties().withAssignableScopes(assignableScopes);
+ 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/RoleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java
new file mode 100644
index 000000000000..44c2aab5a244
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java
@@ -0,0 +1,158 @@
+// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Role definition properties. */
+@Fluent
+public final class RoleDefinitionProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleDefinitionProperties.class);
+
+ /*
+ * The role name.
+ */
+ @JsonProperty(value = "roleName")
+ private String roleName;
+
+ /*
+ * The role definition description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The role type.
+ */
+ @JsonProperty(value = "type")
+ private String roleType;
+
+ /*
+ * Role definition permissions.
+ */
+ @JsonProperty(value = "permissions")
+ private List permissions;
+
+ /*
+ * Role definition assignable scopes.
+ */
+ @JsonProperty(value = "assignableScopes")
+ private List assignableScopes;
+
+ /**
+ * Get the roleName property: The role name.
+ *
+ * @return the roleName value.
+ */
+ public String roleName() {
+ return this.roleName;
+ }
+
+ /**
+ * Set the roleName property: The role name.
+ *
+ * @param roleName the roleName value to set.
+ * @return the RoleDefinitionProperties object itself.
+ */
+ public RoleDefinitionProperties withRoleName(String roleName) {
+ this.roleName = roleName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The role definition description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The role definition description.
+ *
+ * @param description the description value to set.
+ * @return the RoleDefinitionProperties object itself.
+ */
+ public RoleDefinitionProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the roleType property: The role type.
+ *
+ * @return the roleType value.
+ */
+ public String roleType() {
+ return this.roleType;
+ }
+
+ /**
+ * Set the roleType property: The role type.
+ *
+ * @param roleType the roleType value to set.
+ * @return the RoleDefinitionProperties object itself.
+ */
+ public RoleDefinitionProperties withRoleType(String roleType) {
+ this.roleType = roleType;
+ return this;
+ }
+
+ /**
+ * Get the permissions property: Role definition permissions.
+ *
+ * @return the permissions value.
+ */
+ public List permissions() {
+ return this.permissions;
+ }
+
+ /**
+ * Set the permissions property: Role definition permissions.
+ *
+ * @param permissions the permissions value to set.
+ * @return the RoleDefinitionProperties object itself.
+ */
+ public RoleDefinitionProperties withPermissions(List permissions) {
+ this.permissions = permissions;
+ return this;
+ }
+
+ /**
+ * Get the assignableScopes property: Role definition assignable scopes.
+ *
+ * @return the assignableScopes value.
+ */
+ public List assignableScopes() {
+ return this.assignableScopes;
+ }
+
+ /**
+ * Set the assignableScopes property: Role definition assignable scopes.
+ *
+ * @param assignableScopes the assignableScopes value to set.
+ * @return the RoleDefinitionProperties object itself.
+ */
+ public RoleDefinitionProperties withAssignableScopes(List assignableScopes) {
+ this.assignableScopes = assignableScopes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (permissions() != null) {
+ permissions().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java
new file mode 100644
index 000000000000..4fa3d72dd5f5
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java
@@ -0,0 +1,420 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role eligibility schedule. */
+@Fluent
+public final class RoleEligibilityScheduleInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInner.class);
+
+ /*
+ * The role eligibility schedule Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role eligibility schedule name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role eligibility schedule type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * role eligibility schedule properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleEligibilityScheduleProperties innerProperties;
+
+ /**
+ * Get the id property: The role eligibility schedule Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role eligibility schedule name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role eligibility schedule type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: role eligibility schedule properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleEligibilityScheduleProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role eligibility schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role eligibility schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withPrincipalType(PrincipalType principalType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withPrincipalType(principalType);
+ return this;
+ }
+
+ /**
+ * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @return the roleEligibilityScheduleRequestId value.
+ */
+ public String roleEligibilityScheduleRequestId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleRequestId();
+ }
+
+ /**
+ * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withRoleEligibilityScheduleRequestId(String roleEligibilityScheduleRequestId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withRoleEligibilityScheduleRequestId(roleEligibilityScheduleRequestId);
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.innerProperties() == null ? null : this.innerProperties().memberType();
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withMemberType(MemberType memberType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withMemberType(memberType);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the role eligibility schedule.
+ *
+ * @param status the status value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withStatus(Status status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: Start DateTime when role eligibility schedule.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDateTime();
+ }
+
+ /**
+ * Set the startDateTime property: Start DateTime when role eligibility schedule.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withStartDateTime(OffsetDateTime startDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withStartDateTime(startDateTime);
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: End DateTime when role eligibility schedule.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDateTime();
+ }
+
+ /**
+ * Set the endDateTime property: End DateTime when role eligibility schedule.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withEndDateTime(OffsetDateTime endDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withEndDateTime(endDateTime);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withCreatedOn(OffsetDateTime createdOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withCreatedOn(createdOn);
+ return this;
+ }
+
+ /**
+ * Get the updatedOn property: DateTime when role eligibility schedule was modified.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedOn();
+ }
+
+ /**
+ * Set the updatedOn property: DateTime when role eligibility schedule was modified.
+ *
+ * @param updatedOn the updatedOn value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withUpdatedOn(OffsetDateTime updatedOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withUpdatedOn(updatedOn);
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleEligibilityScheduleInner object itself.
+ */
+ public RoleEligibilityScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleProperties();
+ }
+ this.innerProperties().withExpandedProperties(expandedProperties);
+ 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/RoleEligibilityScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java
new file mode 100644
index 000000000000..8a21b15554e5
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java
@@ -0,0 +1,395 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Information about current or upcoming role eligibility schedule instance. */
+@Fluent
+public final class RoleEligibilityScheduleInstanceInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstanceInner.class);
+
+ /*
+ * The role eligibility schedule instance ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role eligibility schedule instance name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role eligibility schedule instance type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role eligibility schedule instance properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleEligibilityScheduleInstanceProperties innerProperties;
+
+ /**
+ * Get the id property: The role eligibility schedule instance ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role eligibility schedule instance name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role eligibility schedule instance type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role eligibility schedule instance properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleEligibilityScheduleInstanceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role eligibility schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role eligibility schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withPrincipalType(PrincipalType principalType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withPrincipalType(principalType);
+ return this;
+ }
+
+ /**
+ * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule.
+ *
+ * @return the roleEligibilityScheduleId value.
+ */
+ public String roleEligibilityScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleId();
+ }
+
+ /**
+ * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule.
+ *
+ * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withRoleEligibilityScheduleId(String roleEligibilityScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withRoleEligibilityScheduleId(roleEligibilityScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule instance.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: The status of the role eligibility schedule instance.
+ *
+ * @param status the status value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withStatus(Status status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: The startDateTime of the role eligibility schedule instance.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDateTime();
+ }
+
+ /**
+ * Set the startDateTime property: The startDateTime of the role eligibility schedule instance.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withStartDateTime(startDateTime);
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The endDateTime of the role eligibility schedule instance.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDateTime();
+ }
+
+ /**
+ * Set the endDateTime property: The endDateTime of the role eligibility schedule instance.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withEndDateTime(endDateTime);
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.innerProperties() == null ? null : this.innerProperties().memberType();
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withMemberType(MemberType memberType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withMemberType(memberType);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withCreatedOn(createdOn);
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleEligibilityScheduleInstanceInner object itself.
+ */
+ public RoleEligibilityScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleInstanceProperties();
+ }
+ this.innerProperties().withExpandedProperties(expandedProperties);
+ 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/RoleEligibilityScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java
new file mode 100644
index 000000000000..eec54535f094
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java
@@ -0,0 +1,377 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role eligibility schedule properties with scope. */
+@Fluent
+public final class RoleEligibilityScheduleInstanceProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstanceProperties.class);
+
+ /*
+ * The role eligibility schedule scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId")
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType")
+ private PrincipalType principalType;
+
+ /*
+ * Id of the master role eligibility schedule
+ */
+ @JsonProperty(value = "roleEligibilityScheduleId")
+ private String roleEligibilityScheduleId;
+
+ /*
+ * The status of the role eligibility schedule instance
+ */
+ @JsonProperty(value = "status")
+ private Status status;
+
+ /*
+ * The startDateTime of the role eligibility schedule instance
+ */
+ @JsonProperty(value = "startDateTime")
+ private OffsetDateTime startDateTime;
+
+ /*
+ * The endDateTime of the role eligibility schedule instance
+ */
+ @JsonProperty(value = "endDateTime")
+ private OffsetDateTime endDateTime;
+
+ /*
+ * Membership type of the role eligibility schedule
+ */
+ @JsonProperty(value = "memberType")
+ private MemberType memberType;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role eligibility schedule was created
+ */
+ @JsonProperty(value = "createdOn")
+ private OffsetDateTime createdOn;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties")
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role eligibility schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role eligibility schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule.
+ *
+ * @return the roleEligibilityScheduleId value.
+ */
+ public String roleEligibilityScheduleId() {
+ return this.roleEligibilityScheduleId;
+ }
+
+ /**
+ * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule.
+ *
+ * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withRoleEligibilityScheduleId(String roleEligibilityScheduleId) {
+ this.roleEligibilityScheduleId = roleEligibilityScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule instance.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the role eligibility schedule instance.
+ *
+ * @param status the status value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withStatus(Status status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: The startDateTime of the role eligibility schedule instance.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Set the startDateTime property: The startDateTime of the role eligibility schedule instance.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) {
+ this.startDateTime = startDateTime;
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The endDateTime of the role eligibility schedule instance.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.endDateTime;
+ }
+
+ /**
+ * Set the endDateTime property: The endDateTime of the role eligibility schedule instance.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) {
+ this.endDateTime = endDateTime;
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.memberType;
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withMemberType(MemberType memberType) {
+ this.memberType = memberType;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) {
+ this.createdOn = createdOn;
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleEligibilityScheduleInstanceProperties object itself.
+ */
+ public RoleEligibilityScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) {
+ this.expandedProperties = expandedProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java
new file mode 100644
index 000000000000..dde8038cabbf
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java
@@ -0,0 +1,407 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.MemberType;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role eligibility schedule properties with scope. */
+@Fluent
+public final class RoleEligibilityScheduleProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleProperties.class);
+
+ /*
+ * The role eligibility schedule scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId")
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId")
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType")
+ private PrincipalType principalType;
+
+ /*
+ * The id of roleEligibilityScheduleRequest used to create this
+ * roleAssignmentSchedule
+ */
+ @JsonProperty(value = "roleEligibilityScheduleRequestId")
+ private String roleEligibilityScheduleRequestId;
+
+ /*
+ * Membership type of the role eligibility schedule
+ */
+ @JsonProperty(value = "memberType")
+ private MemberType memberType;
+
+ /*
+ * The status of the role eligibility schedule.
+ */
+ @JsonProperty(value = "status")
+ private Status status;
+
+ /*
+ * Start DateTime when role eligibility schedule
+ */
+ @JsonProperty(value = "startDateTime")
+ private OffsetDateTime startDateTime;
+
+ /*
+ * End DateTime when role eligibility schedule
+ */
+ @JsonProperty(value = "endDateTime")
+ private OffsetDateTime endDateTime;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role eligibility schedule was created
+ */
+ @JsonProperty(value = "createdOn")
+ private OffsetDateTime createdOn;
+
+ /*
+ * DateTime when role eligibility schedule was modified
+ */
+ @JsonProperty(value = "updatedOn")
+ private OffsetDateTime updatedOn;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties")
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role eligibility schedule scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role eligibility schedule scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: The principal type of the assigned principal ID.
+ *
+ * @param principalType the principalType value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @return the roleEligibilityScheduleRequestId value.
+ */
+ public String roleEligibilityScheduleRequestId() {
+ return this.roleEligibilityScheduleRequestId;
+ }
+
+ /**
+ * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this
+ * roleAssignmentSchedule.
+ *
+ * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withRoleEligibilityScheduleRequestId(
+ String roleEligibilityScheduleRequestId) {
+ this.roleEligibilityScheduleRequestId = roleEligibilityScheduleRequestId;
+ return this;
+ }
+
+ /**
+ * Get the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @return the memberType value.
+ */
+ public MemberType memberType() {
+ return this.memberType;
+ }
+
+ /**
+ * Set the memberType property: Membership type of the role eligibility schedule.
+ *
+ * @param memberType the memberType value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withMemberType(MemberType memberType) {
+ this.memberType = memberType;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The status of the role eligibility schedule.
+ *
+ * @param status the status value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withStatus(Status status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startDateTime property: Start DateTime when role eligibility schedule.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Set the startDateTime property: Start DateTime when role eligibility schedule.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withStartDateTime(OffsetDateTime startDateTime) {
+ this.startDateTime = startDateTime;
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: End DateTime when role eligibility schedule.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.endDateTime;
+ }
+
+ /**
+ * Set the endDateTime property: End DateTime when role eligibility schedule.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withEndDateTime(OffsetDateTime endDateTime) {
+ this.endDateTime = endDateTime;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Set the createdOn property: DateTime when role eligibility schedule was created.
+ *
+ * @param createdOn the createdOn value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withCreatedOn(OffsetDateTime createdOn) {
+ this.createdOn = createdOn;
+ return this;
+ }
+
+ /**
+ * Get the updatedOn property: DateTime when role eligibility schedule was modified.
+ *
+ * @return the updatedOn value.
+ */
+ public OffsetDateTime updatedOn() {
+ return this.updatedOn;
+ }
+
+ /**
+ * Set the updatedOn property: DateTime when role eligibility schedule was modified.
+ *
+ * @param updatedOn the updatedOn value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) {
+ this.updatedOn = updatedOn;
+ return this;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Set the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @param expandedProperties the expandedProperties value to set.
+ * @return the RoleEligibilityScheduleProperties object itself.
+ */
+ public RoleEligibilityScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) {
+ this.expandedProperties = expandedProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java
new file mode 100644
index 000000000000..d6cf0b1bab9b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java
@@ -0,0 +1,401 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role Eligibility schedule request. */
+@Fluent
+public final class RoleEligibilityScheduleRequestInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestInner.class);
+
+ /*
+ * The role eligibility schedule request ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role eligibility schedule request name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role eligibility schedule request type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role eligibility schedule request properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleEligibilityScheduleRequestProperties innerProperties;
+
+ /**
+ * Get the id property: The role eligibility schedule request ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role eligibility schedule request name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role eligibility schedule request type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role eligibility schedule request properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleEligibilityScheduleRequestProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role eligibility schedule request scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withPrincipalId(String principalId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withPrincipalId(principalId);
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @return the requestType value.
+ */
+ public RequestType requestType() {
+ return this.innerProperties() == null ? null : this.innerProperties().requestType();
+ }
+
+ /**
+ * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @param requestType the requestType value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withRequestType(RequestType requestType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withRequestType(requestType);
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule request.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the approvalId property: The approvalId of the role eligibility schedule request.
+ *
+ * @return the approvalId value.
+ */
+ public String approvalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().approvalId();
+ }
+
+ /**
+ * Get the scheduleInfo property: Schedule info of the role eligibility schedule.
+ *
+ * @return the scheduleInfo value.
+ */
+ public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo();
+ }
+
+ /**
+ * Set the scheduleInfo property: Schedule info of the role eligibility schedule.
+ *
+ * @param scheduleInfo the scheduleInfo value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withScheduleInfo(
+ RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withScheduleInfo(scheduleInfo);
+ return this;
+ }
+
+ /**
+ * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role
+ * eligibility schedule id being updated.
+ *
+ * @return the targetRoleEligibilityScheduleId value.
+ */
+ public String targetRoleEligibilityScheduleId() {
+ return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleId();
+ }
+
+ /**
+ * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role
+ * eligibility schedule id being updated.
+ *
+ * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleId(
+ String targetRoleEligibilityScheduleId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withTargetRoleEligibilityScheduleId(targetRoleEligibilityScheduleId);
+ return this;
+ }
+
+ /**
+ * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being
+ * updated.
+ *
+ * @return the targetRoleEligibilityScheduleInstanceId value.
+ */
+ public String targetRoleEligibilityScheduleInstanceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleInstanceId();
+ }
+
+ /**
+ * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being
+ * updated.
+ *
+ * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleInstanceId(
+ String targetRoleEligibilityScheduleInstanceId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withTargetRoleEligibilityScheduleInstanceId(targetRoleEligibilityScheduleInstanceId);
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification for the role eligibility.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.innerProperties() == null ? null : this.innerProperties().justification();
+ }
+
+ /**
+ * Set the justification property: Justification for the role eligibility.
+ *
+ * @param justification the justification value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withJustification(String justification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withJustification(justification);
+ return this;
+ }
+
+ /**
+ * Get the ticketInfo property: Ticket Info of the role eligibility.
+ *
+ * @return the ticketInfo value.
+ */
+ public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() {
+ return this.innerProperties() == null ? null : this.innerProperties().ticketInfo();
+ }
+
+ /**
+ * Set the ticketInfo property: Ticket Info of the role eligibility.
+ *
+ * @param ticketInfo the ticketInfo value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withTicketInfo(
+ RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withTicketInfo(ticketInfo);
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.innerProperties() == null ? null : this.innerProperties().condition();
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withCondition(String condition) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withCondition(condition);
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().conditionVersion();
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleRequestInner object itself.
+ */
+ public RoleEligibilityScheduleRequestInner withConditionVersion(String conditionVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleEligibilityScheduleRequestProperties();
+ }
+ this.innerProperties().withConditionVersion(conditionVersion);
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule request was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdOn();
+ }
+
+ /**
+ * Get the requestorId property: Id of the user who created this request.
+ *
+ * @return the requestorId value.
+ */
+ public String requestorId() {
+ return this.innerProperties() == null ? null : this.innerProperties().requestorId();
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandedProperties();
+ }
+
+ /**
+ * 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/RoleEligibilityScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java
new file mode 100644
index 000000000000..7fb080c86b21
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java
@@ -0,0 +1,443 @@
+// Copyright (c) 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.ExpandedProperties;
+import com.azure.resourcemanager.authorization.generated.models.PrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.RequestType;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo;
+import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo;
+import com.azure.resourcemanager.authorization.generated.models.Status;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Role eligibility schedule request properties with scope. */
+@Fluent
+public final class RoleEligibilityScheduleRequestProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestProperties.class);
+
+ /*
+ * The role eligibility schedule request scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * The role definition ID.
+ */
+ @JsonProperty(value = "roleDefinitionId", required = true)
+ private String roleDefinitionId;
+
+ /*
+ * The principal ID.
+ */
+ @JsonProperty(value = "principalId", required = true)
+ private String principalId;
+
+ /*
+ * The principal type of the assigned principal ID.
+ */
+ @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY)
+ private PrincipalType principalType;
+
+ /*
+ * The type of the role assignment schedule request. Eg: SelfActivate,
+ * AdminAssign etc
+ */
+ @JsonProperty(value = "requestType", required = true)
+ private RequestType requestType;
+
+ /*
+ * The status of the role eligibility schedule request.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private Status status;
+
+ /*
+ * The approvalId of the role eligibility schedule request.
+ */
+ @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String approvalId;
+
+ /*
+ * Schedule info of the role eligibility schedule
+ */
+ @JsonProperty(value = "scheduleInfo")
+ private RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo;
+
+ /*
+ * The resultant role eligibility schedule id or the role eligibility
+ * schedule id being updated
+ */
+ @JsonProperty(value = "targetRoleEligibilityScheduleId")
+ private String targetRoleEligibilityScheduleId;
+
+ /*
+ * The role eligibility schedule instance id being updated
+ */
+ @JsonProperty(value = "targetRoleEligibilityScheduleInstanceId")
+ private String targetRoleEligibilityScheduleInstanceId;
+
+ /*
+ * Justification for the role eligibility
+ */
+ @JsonProperty(value = "justification")
+ private String justification;
+
+ /*
+ * Ticket Info of the role eligibility
+ */
+ @JsonProperty(value = "ticketInfo")
+ private RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo;
+
+ /*
+ * The conditions on the role assignment. This limits the resources it can
+ * be assigned to. e.g.:
+ * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'
+ */
+ @JsonProperty(value = "condition")
+ private String condition;
+
+ /*
+ * Version of the condition. Currently accepted value is '2.0'
+ */
+ @JsonProperty(value = "conditionVersion")
+ private String conditionVersion;
+
+ /*
+ * DateTime when role eligibility schedule request was created
+ */
+ @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdOn;
+
+ /*
+ * Id of the user who created this request
+ */
+ @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY)
+ private String requestorId;
+
+ /*
+ * Additional properties of principal, scope and role definition
+ */
+ @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private ExpandedProperties expandedProperties;
+
+ /**
+ * Get the scope property: The role eligibility schedule request scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition ID.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition ID.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The principal ID.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID.
+ *
+ * @param principalId the principalId value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: The principal type of the assigned principal ID.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @return the requestType value.
+ */
+ public RequestType requestType() {
+ return this.requestType;
+ }
+
+ /**
+ * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign
+ * etc.
+ *
+ * @param requestType the requestType value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withRequestType(RequestType requestType) {
+ this.requestType = requestType;
+ return this;
+ }
+
+ /**
+ * Get the status property: The status of the role eligibility schedule request.
+ *
+ * @return the status value.
+ */
+ public Status status() {
+ return this.status;
+ }
+
+ /**
+ * Get the approvalId property: The approvalId of the role eligibility schedule request.
+ *
+ * @return the approvalId value.
+ */
+ public String approvalId() {
+ return this.approvalId;
+ }
+
+ /**
+ * Get the scheduleInfo property: Schedule info of the role eligibility schedule.
+ *
+ * @return the scheduleInfo value.
+ */
+ public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() {
+ return this.scheduleInfo;
+ }
+
+ /**
+ * Set the scheduleInfo property: Schedule info of the role eligibility schedule.
+ *
+ * @param scheduleInfo the scheduleInfo value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withScheduleInfo(
+ RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) {
+ this.scheduleInfo = scheduleInfo;
+ return this;
+ }
+
+ /**
+ * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role
+ * eligibility schedule id being updated.
+ *
+ * @return the targetRoleEligibilityScheduleId value.
+ */
+ public String targetRoleEligibilityScheduleId() {
+ return this.targetRoleEligibilityScheduleId;
+ }
+
+ /**
+ * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role
+ * eligibility schedule id being updated.
+ *
+ * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleId(
+ String targetRoleEligibilityScheduleId) {
+ this.targetRoleEligibilityScheduleId = targetRoleEligibilityScheduleId;
+ return this;
+ }
+
+ /**
+ * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being
+ * updated.
+ *
+ * @return the targetRoleEligibilityScheduleInstanceId value.
+ */
+ public String targetRoleEligibilityScheduleInstanceId() {
+ return this.targetRoleEligibilityScheduleInstanceId;
+ }
+
+ /**
+ * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being
+ * updated.
+ *
+ * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleInstanceId(
+ String targetRoleEligibilityScheduleInstanceId) {
+ this.targetRoleEligibilityScheduleInstanceId = targetRoleEligibilityScheduleInstanceId;
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification for the role eligibility.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.justification;
+ }
+
+ /**
+ * Set the justification property: Justification for the role eligibility.
+ *
+ * @param justification the justification value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withJustification(String justification) {
+ this.justification = justification;
+ return this;
+ }
+
+ /**
+ * Get the ticketInfo property: Ticket Info of the role eligibility.
+ *
+ * @return the ticketInfo value.
+ */
+ public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() {
+ return this.ticketInfo;
+ }
+
+ /**
+ * Set the ticketInfo property: Ticket Info of the role eligibility.
+ *
+ * @param ticketInfo the ticketInfo value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withTicketInfo(
+ RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) {
+ this.ticketInfo = ticketInfo;
+ return this;
+ }
+
+ /**
+ * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @return the condition value.
+ */
+ public String condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned
+ * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]
+ * StringEqualsIgnoreCase 'foo_storage_container'.
+ *
+ * @param condition the condition value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withCondition(String condition) {
+ this.condition = condition;
+ return this;
+ }
+
+ /**
+ * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @return the conditionVersion value.
+ */
+ public String conditionVersion() {
+ return this.conditionVersion;
+ }
+
+ /**
+ * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'.
+ *
+ * @param conditionVersion the conditionVersion value to set.
+ * @return the RoleEligibilityScheduleRequestProperties object itself.
+ */
+ public RoleEligibilityScheduleRequestProperties withConditionVersion(String conditionVersion) {
+ this.conditionVersion = conditionVersion;
+ return this;
+ }
+
+ /**
+ * Get the createdOn property: DateTime when role eligibility schedule request was created.
+ *
+ * @return the createdOn value.
+ */
+ public OffsetDateTime createdOn() {
+ return this.createdOn;
+ }
+
+ /**
+ * Get the requestorId property: Id of the user who created this request.
+ *
+ * @return the requestorId value.
+ */
+ public String requestorId() {
+ return this.requestorId;
+ }
+
+ /**
+ * Get the expandedProperties property: Additional properties of principal, scope and role definition.
+ *
+ * @return the expandedProperties value.
+ */
+ public ExpandedProperties expandedProperties() {
+ return this.expandedProperties;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (roleDefinitionId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property roleDefinitionId in model"
+ + " RoleEligibilityScheduleRequestProperties"));
+ }
+ if (principalId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property principalId in model RoleEligibilityScheduleRequestProperties"));
+ }
+ if (requestType() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property requestType in model RoleEligibilityScheduleRequestProperties"));
+ }
+ if (scheduleInfo() != null) {
+ scheduleInfo().validate();
+ }
+ if (ticketInfo() != null) {
+ ticketInfo().validate();
+ }
+ if (expandedProperties() != null) {
+ expandedProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java
new file mode 100644
index 000000000000..291ca492784c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java
@@ -0,0 +1,166 @@
+// Copyright (c) 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.PolicyAssignmentProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Role management policy. */
+@Fluent
+public final class RoleManagementPolicyAssignmentInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentInner.class);
+
+ /*
+ * The role management policy Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role management policy name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role management policy type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role management policy properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleManagementPolicyAssignmentProperties innerProperties;
+
+ /**
+ * Get the id property: The role management policy Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role management policy name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role management policy type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role management policy properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleManagementPolicyAssignmentProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role management policy scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role management policy scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleManagementPolicyAssignmentInner object itself.
+ */
+ public RoleManagementPolicyAssignmentInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyAssignmentProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition of management policy assignment.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition of management policy assignment.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleManagementPolicyAssignmentInner object itself.
+ */
+ public RoleManagementPolicyAssignmentInner withRoleDefinitionId(String roleDefinitionId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyAssignmentProperties();
+ }
+ this.innerProperties().withRoleDefinitionId(roleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Get the policyId property: The policy id role management policy assignment.
+ *
+ * @return the policyId value.
+ */
+ public String policyId() {
+ return this.innerProperties() == null ? null : this.innerProperties().policyId();
+ }
+
+ /**
+ * Set the policyId property: The policy id role management policy assignment.
+ *
+ * @param policyId the policyId value to set.
+ * @return the RoleManagementPolicyAssignmentInner object itself.
+ */
+ public RoleManagementPolicyAssignmentInner withPolicyId(String policyId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyAssignmentProperties();
+ }
+ this.innerProperties().withPolicyId(policyId);
+ return this;
+ }
+
+ /**
+ * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy.
+ *
+ * @return the policyAssignmentProperties value.
+ */
+ public PolicyAssignmentProperties policyAssignmentProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().policyAssignmentProperties();
+ }
+
+ /**
+ * 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/RoleManagementPolicyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java
new file mode 100644
index 000000000000..7d8f7a998536
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.PolicyAssignmentProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Role management policy assignment properties with scope. */
+@Fluent
+public final class RoleManagementPolicyAssignmentProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentProperties.class);
+
+ /*
+ * The role management policy scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role definition of management policy assignment.
+ */
+ @JsonProperty(value = "roleDefinitionId")
+ private String roleDefinitionId;
+
+ /*
+ * The policy id role management policy assignment.
+ */
+ @JsonProperty(value = "policyId")
+ private String policyId;
+
+ /*
+ * Additional properties of scope, role definition and policy
+ */
+ @JsonProperty(value = "policyAssignmentProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private PolicyAssignmentProperties policyAssignmentProperties;
+
+ /**
+ * Get the scope property: The role management policy scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role management policy scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleManagementPolicyAssignmentProperties object itself.
+ */
+ public RoleManagementPolicyAssignmentProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the roleDefinitionId property: The role definition of management policy assignment.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Set the roleDefinitionId property: The role definition of management policy assignment.
+ *
+ * @param roleDefinitionId the roleDefinitionId value to set.
+ * @return the RoleManagementPolicyAssignmentProperties object itself.
+ */
+ public RoleManagementPolicyAssignmentProperties withRoleDefinitionId(String roleDefinitionId) {
+ this.roleDefinitionId = roleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Get the policyId property: The policy id role management policy assignment.
+ *
+ * @return the policyId value.
+ */
+ public String policyId() {
+ return this.policyId;
+ }
+
+ /**
+ * Set the policyId property: The policy id role management policy assignment.
+ *
+ * @param policyId the policyId value to set.
+ * @return the RoleManagementPolicyAssignmentProperties object itself.
+ */
+ public RoleManagementPolicyAssignmentProperties withPolicyId(String policyId) {
+ this.policyId = policyId;
+ return this;
+ }
+
+ /**
+ * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy.
+ *
+ * @return the policyAssignmentProperties value.
+ */
+ public PolicyAssignmentProperties policyAssignmentProperties() {
+ return this.policyAssignmentProperties;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (policyAssignmentProperties() != null) {
+ policyAssignmentProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java
new file mode 100644
index 000000000000..a9e6a54cacef
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java
@@ -0,0 +1,243 @@
+// Copyright (c) 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.PolicyProperties;
+import com.azure.resourcemanager.authorization.generated.models.Principal;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Role management policy. */
+@Fluent
+public final class RoleManagementPolicyInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyInner.class);
+
+ /*
+ * The role management policy Id.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The role management policy name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The role management policy type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Role management policy properties.
+ */
+ @JsonProperty(value = "properties")
+ private RoleManagementPolicyProperties innerProperties;
+
+ /**
+ * Get the id property: The role management policy Id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The role management policy name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The role management policy type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Role management policy properties.
+ *
+ * @return the innerProperties value.
+ */
+ private RoleManagementPolicyProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The role management policy scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Set the scope property: The role management policy scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleManagementPolicyInner object itself.
+ */
+ public RoleManagementPolicyInner withScope(String scope) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyProperties();
+ }
+ this.innerProperties().withScope(scope);
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The role management policy display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The role management policy display name.
+ *
+ * @param displayName the displayName value to set.
+ * @return the RoleManagementPolicyInner object itself.
+ */
+ public RoleManagementPolicyInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the description property: The role management policy description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: The role management policy description.
+ *
+ * @param description the description value to set.
+ * @return the RoleManagementPolicyInner object itself.
+ */
+ public RoleManagementPolicyInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the isOrganizationDefault property: The role management policy is default policy.
+ *
+ * @return the isOrganizationDefault value.
+ */
+ public Boolean isOrganizationDefault() {
+ return this.innerProperties() == null ? null : this.innerProperties().isOrganizationDefault();
+ }
+
+ /**
+ * Set the isOrganizationDefault property: The role management policy is default policy.
+ *
+ * @param isOrganizationDefault the isOrganizationDefault value to set.
+ * @return the RoleManagementPolicyInner object itself.
+ */
+ public RoleManagementPolicyInner withIsOrganizationDefault(Boolean isOrganizationDefault) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyProperties();
+ }
+ this.innerProperties().withIsOrganizationDefault(isOrganizationDefault);
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedBy property: The name of the entity last modified it.
+ *
+ * @return the lastModifiedBy value.
+ */
+ public Principal lastModifiedBy() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedBy();
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The last modified date time.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedDateTime();
+ }
+
+ /**
+ * Get the rules property: The rule applied to the policy.
+ *
+ * @return the rules value.
+ */
+ public List rules() {
+ return this.innerProperties() == null ? null : this.innerProperties().rules();
+ }
+
+ /**
+ * Set the rules property: The rule applied to the policy.
+ *
+ * @param rules the rules value to set.
+ * @return the RoleManagementPolicyInner object itself.
+ */
+ public RoleManagementPolicyInner withRules(List rules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new RoleManagementPolicyProperties();
+ }
+ this.innerProperties().withRules(rules);
+ return this;
+ }
+
+ /**
+ * Get the effectiveRules property: The readonly computed rule applied to the policy.
+ *
+ * @return the effectiveRules value.
+ */
+ public List effectiveRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().effectiveRules();
+ }
+
+ /**
+ * Get the policyProperties property: Additional properties of scope.
+ *
+ * @return the policyProperties value.
+ */
+ public PolicyProperties policyProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().policyProperties();
+ }
+
+ /**
+ * 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/RoleManagementPolicyProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java
new file mode 100644
index 000000000000..299fb1c75c35
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java
@@ -0,0 +1,231 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.PolicyProperties;
+import com.azure.resourcemanager.authorization.generated.models.Principal;
+import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Role management policy properties with scope. */
+@Fluent
+public final class RoleManagementPolicyProperties {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyProperties.class);
+
+ /*
+ * The role management policy scope.
+ */
+ @JsonProperty(value = "scope")
+ private String scope;
+
+ /*
+ * The role management policy display name.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * The role management policy description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The role management policy is default policy.
+ */
+ @JsonProperty(value = "isOrganizationDefault")
+ private Boolean isOrganizationDefault;
+
+ /*
+ * The name of the entity last modified it
+ */
+ @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private Principal lastModifiedBy;
+
+ /*
+ * The last modified date time.
+ */
+ @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedDateTime;
+
+ /*
+ * The rule applied to the policy.
+ */
+ @JsonProperty(value = "rules")
+ private List rules;
+
+ /*
+ * The readonly computed rule applied to the policy.
+ */
+ @JsonProperty(value = "effectiveRules", access = JsonProperty.Access.WRITE_ONLY)
+ private List effectiveRules;
+
+ /*
+ * Additional properties of scope
+ */
+ @JsonProperty(value = "policyProperties", access = JsonProperty.Access.WRITE_ONLY)
+ private PolicyProperties policyProperties;
+
+ /**
+ * Get the scope property: The role management policy scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the scope property: The role management policy scope.
+ *
+ * @param scope the scope value to set.
+ * @return the RoleManagementPolicyProperties object itself.
+ */
+ public RoleManagementPolicyProperties withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The role management policy display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The role management policy display name.
+ *
+ * @param displayName the displayName value to set.
+ * @return the RoleManagementPolicyProperties object itself.
+ */
+ public RoleManagementPolicyProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the description property: The role management policy description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: The role management policy description.
+ *
+ * @param description the description value to set.
+ * @return the RoleManagementPolicyProperties object itself.
+ */
+ public RoleManagementPolicyProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the isOrganizationDefault property: The role management policy is default policy.
+ *
+ * @return the isOrganizationDefault value.
+ */
+ public Boolean isOrganizationDefault() {
+ return this.isOrganizationDefault;
+ }
+
+ /**
+ * Set the isOrganizationDefault property: The role management policy is default policy.
+ *
+ * @param isOrganizationDefault the isOrganizationDefault value to set.
+ * @return the RoleManagementPolicyProperties object itself.
+ */
+ public RoleManagementPolicyProperties withIsOrganizationDefault(Boolean isOrganizationDefault) {
+ this.isOrganizationDefault = isOrganizationDefault;
+ return this;
+ }
+
+ /**
+ * Get the lastModifiedBy property: The name of the entity last modified it.
+ *
+ * @return the lastModifiedBy value.
+ */
+ public Principal lastModifiedBy() {
+ return this.lastModifiedBy;
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The last modified date time.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.lastModifiedDateTime;
+ }
+
+ /**
+ * Get the rules property: The rule applied to the policy.
+ *
+ * @return the rules value.
+ */
+ public List rules() {
+ return this.rules;
+ }
+
+ /**
+ * Set the rules property: The rule applied to the policy.
+ *
+ * @param rules the rules value to set.
+ * @return the RoleManagementPolicyProperties object itself.
+ */
+ public RoleManagementPolicyProperties withRules(List rules) {
+ this.rules = rules;
+ return this;
+ }
+
+ /**
+ * Get the effectiveRules property: The readonly computed rule applied to the policy.
+ *
+ * @return the effectiveRules value.
+ */
+ public List effectiveRules() {
+ return this.effectiveRules;
+ }
+
+ /**
+ * Get the policyProperties property: Additional properties of scope.
+ *
+ * @return the policyProperties value.
+ */
+ public PolicyProperties policyProperties() {
+ return this.policyProperties;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (lastModifiedBy() != null) {
+ lastModifiedBy().validate();
+ }
+ if (rules() != null) {
+ rules().forEach(e -> e.validate());
+ }
+ if (effectiveRules() != null) {
+ effectiveRules().forEach(e -> e.validate());
+ }
+ if (policyProperties() != null) {
+ policyProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java
new file mode 100644
index 000000000000..e74806bb1eb6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.ValidationResponseErrorInfo;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Validation response. */
+@Fluent
+public final class ValidationResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ValidationResponseInner.class);
+
+ /*
+ * Whether or not validation succeeded
+ */
+ @JsonProperty(value = "isValid", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isValid;
+
+ /*
+ * Failed validation result details
+ */
+ @JsonProperty(value = "errorInfo")
+ private ValidationResponseErrorInfo errorInfo;
+
+ /**
+ * Get the isValid property: Whether or not validation succeeded.
+ *
+ * @return the isValid value.
+ */
+ public Boolean isValid() {
+ return this.isValid;
+ }
+
+ /**
+ * Get the errorInfo property: Failed validation result details.
+ *
+ * @return the errorInfo value.
+ */
+ public ValidationResponseErrorInfo errorInfo() {
+ return this.errorInfo;
+ }
+
+ /**
+ * Set the errorInfo property: Failed validation result details.
+ *
+ * @param errorInfo the errorInfo value to set.
+ * @return the ValidationResponseInner object itself.
+ */
+ public ValidationResponseInner withErrorInfo(ValidationResponseErrorInfo errorInfo) {
+ this.errorInfo = errorInfo;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (errorInfo() != null) {
+ errorInfo().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 000000000000..778f02ae93c8
--- /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 000000000000..e4a5da680dfa
--- /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/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 000000000000..a0e9cf89d6d0
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.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.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.AccessReviewResult;
+import java.time.OffsetDateTime;
+
+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 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 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 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 000000000000..8e525157fcb4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.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.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.DefaultDecisionType;
+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 Integer instanceDurationInDays() {
+ return this.innerModel().instanceDurationInDays();
+ }
+
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerModel().typePropertiesType();
+ }
+
+ public Integer interval() {
+ return this.innerModel().interval();
+ }
+
+ 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 000000000000..2f8fca888767
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java
@@ -0,0 +1,331 @@
+// Copyright (c) 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.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 reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewDefaultSettingsOperationsClient.
+ */
+public final class AccessReviewDefaultSettingsOperationsClientImpl
+ implements AccessReviewDefaultSettingsOperationsClient {
+ private final ClientLogger logger = new ClientLogger(AccessReviewDefaultSettingsOperationsClientImpl.class);
+
+ /** 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")
+ private 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,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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.
+ */
+ @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 = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), 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.
+ */
+ @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 = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync() {
+ return getWithResponseAsync()
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * 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 getAsync().block();
+ }
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(Context context) {
+ return getWithResponseAsync(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)
+ 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 = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .put(
+ this.client.getEndpoint(),
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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.
+ */
+ @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 = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .put(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono putAsync(AccessReviewScheduleSettings properties) {
+ return putWithResponseAsync(properties)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * 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 putAsync(properties).block();
+ }
+
+ /**
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context) {
+ return putWithResponseAsync(properties, context).block();
+ }
+}
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 000000000000..28a146ebeaf0
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.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.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;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class AccessReviewDefaultSettingsOperationsImpl implements AccessReviewDefaultSettingsOperations {
+ @JsonIgnore private 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 AccessReviewDefaultSettings get() {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().get();
+ if (inner != null) {
+ return new AccessReviewDefaultSettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ 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 put(AccessReviewScheduleSettings properties) {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().put(properties);
+ 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;
+ }
+ }
+
+ 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/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 000000000000..9b580b030459
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java
@@ -0,0 +1,340 @@
+// Copyright (c) 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.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.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 {
+ private final ClientLogger logger = new ClientLogger(AccessReviewInstanceDecisionsClientImpl.class);
+
+ /** 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")
+ private 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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown 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.
+ */
+ @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."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 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.
+ */
+ @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."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id), 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 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.
+ */
+ @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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, 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 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.
+ */
+ @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 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.
+ */
+ @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 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.
+ */
+ @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 000000000000..77d883c814d4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.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.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;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class AccessReviewInstanceDecisionsImpl implements AccessReviewInstanceDecisions {
+ @JsonIgnore private 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, Context context) {
+ PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id, 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 000000000000..aeefc1e10236
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.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.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus;
+import java.time.OffsetDateTime;
+
+public final class AccessReviewInstanceImpl implements AccessReviewInstance {
+ 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 AccessReviewInstanceInner 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/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 000000000000..157e1d15b645
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java
@@ -0,0 +1,666 @@
+// Copyright (c) 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.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.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 {
+ private final ClientLogger logger = new ClientLogger(AccessReviewInstanceMyDecisionsClientImpl.class);
+
+ /** 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")
+ private 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,
+ @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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws 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.
+ */
+ @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 = "2018-05-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 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 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.
+ */
+ @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 = "2018-05-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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id), 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 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.
+ */
+ @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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, 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 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.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id, Context context) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, 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.
+ */
+ @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 = "2018-05-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.
+ */
+ @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 = "2018-05-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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByIdAsync(String scheduleDefinitionId, String id, String decisionId) {
+ return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * 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 getByIdAsync(scheduleDefinitionId, id, decisionId).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.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, Context context) {
+ return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId, 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)
+ 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 = "2018-05-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.
+ */
+ @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 = "2018-05-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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono patchAsync(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) {
+ return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * 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 patchAsync(scheduleDefinitionId, id, decisionId, properties).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.
+ * @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.
+ */
+ @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();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink 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.
+ */
+ @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 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.
+ */
+ @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 000000000000..21d0b30773b3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+public final class AccessReviewInstanceMyDecisionsImpl implements AccessReviewInstanceMyDecisions {
+ @JsonIgnore private 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, Context context) {
+ PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager()));
+ }
+
+ 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 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 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;
+ }
+ }
+
+ 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;
+ }
+ }
+
+ 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 000000000000..a923fa6d068e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java
@@ -0,0 +1,809 @@
+// Copyright (c) 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.core.util.logging.ClientLogger;
+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 {
+ private final ClientLogger logger = new ClientLogger(AccessReviewInstanceOperationsClientImpl.class);
+
+ /** 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")
+ private 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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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 completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .stop(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .stop(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono stopAsync(String scheduleDefinitionId, String id) {
+ return stopWithResponseAsync(scheduleDefinitionId, id).flatMap((Response res) -> 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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) {
+ stopAsync(scheduleDefinitionId, id).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.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response stopWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return stopWithResponseAsync(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.
+ * @return the completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .resetDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .resetDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono resetDecisionsAsync(String scheduleDefinitionId, String id) {
+ return resetDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap((Response res) -> 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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) {
+ resetDecisionsAsync(scheduleDefinitionId, id).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.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return resetDecisionsWithResponseAsync(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.
+ * @return the completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .applyDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .applyDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono applyDecisionsAsync(String scheduleDefinitionId, String id) {
+ return applyDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap((Response res) -> 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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) {
+ applyDecisionsAsync(scheduleDefinitionId, id).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.
+ * @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 response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return applyDecisionsWithResponseAsync(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.
+ * @return the completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .sendReminders(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 completion.
+ */
+ @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 (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 (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2018-05-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .sendReminders(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ this.client.getSubscriptionId(),
+ 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 the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono sendRemindersAsync(String scheduleDefinitionId, String id) {
+ return sendRemindersWithResponseAsync(scheduleDefinitionId, id).flatMap((Response