scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Authorization service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Authorization service API instance.
+ */
+ public AuthorizationManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.authorization.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new AuthorizationManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewHistoryDefinitions.
+ *
+ * @return Resource collection API of AccessReviewHistoryDefinitions.
+ */
+ public AccessReviewHistoryDefinitions accessReviewHistoryDefinitions() {
+ if (this.accessReviewHistoryDefinitions == null) {
+ this.accessReviewHistoryDefinitions =
+ new AccessReviewHistoryDefinitionsImpl(clientObject.getAccessReviewHistoryDefinitions(), this);
+ }
+ return accessReviewHistoryDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewHistoryDefinitionOperations. It manages
+ * AccessReviewHistoryDefinition.
+ *
+ * @return Resource collection API of AccessReviewHistoryDefinitionOperations.
+ */
+ public AccessReviewHistoryDefinitionOperations accessReviewHistoryDefinitionOperations() {
+ if (this.accessReviewHistoryDefinitionOperations == null) {
+ this.accessReviewHistoryDefinitionOperations =
+ new AccessReviewHistoryDefinitionOperationsImpl(
+ clientObject.getAccessReviewHistoryDefinitionOperations(), this);
+ }
+ return accessReviewHistoryDefinitionOperations;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewHistoryDefinitionInstances.
+ *
+ * @return Resource collection API of AccessReviewHistoryDefinitionInstances.
+ */
+ public AccessReviewHistoryDefinitionInstances accessReviewHistoryDefinitionInstances() {
+ if (this.accessReviewHistoryDefinitionInstances == null) {
+ this.accessReviewHistoryDefinitionInstances =
+ new AccessReviewHistoryDefinitionInstancesImpl(
+ clientObject.getAccessReviewHistoryDefinitionInstances(), this);
+ }
+ return accessReviewHistoryDefinitionInstances;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewHistoryDefinitionInstancesOperations.
+ *
+ * @return Resource collection API of AccessReviewHistoryDefinitionInstancesOperations.
+ */
+ public AccessReviewHistoryDefinitionInstancesOperations accessReviewHistoryDefinitionInstancesOperations() {
+ if (this.accessReviewHistoryDefinitionInstancesOperations == null) {
+ this.accessReviewHistoryDefinitionInstancesOperations =
+ new AccessReviewHistoryDefinitionInstancesOperationsImpl(
+ clientObject.getAccessReviewHistoryDefinitionInstancesOperations(), this);
+ }
+ return accessReviewHistoryDefinitionInstancesOperations;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewScheduleDefinitions. It manages AccessReviewScheduleDefinition.
+ *
+ * @return Resource collection API of AccessReviewScheduleDefinitions.
+ */
+ public AccessReviewScheduleDefinitions accessReviewScheduleDefinitions() {
+ if (this.accessReviewScheduleDefinitions == null) {
+ this.accessReviewScheduleDefinitions =
+ new AccessReviewScheduleDefinitionsImpl(clientObject.getAccessReviewScheduleDefinitions(), this);
+ }
+ return accessReviewScheduleDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstances. It manages AccessReviewInstance.
+ *
+ * @return Resource collection API of AccessReviewInstances.
+ */
+ public AccessReviewInstances accessReviewInstances() {
+ if (this.accessReviewInstances == null) {
+ this.accessReviewInstances = new AccessReviewInstancesImpl(clientObject.getAccessReviewInstances(), this);
+ }
+ return accessReviewInstances;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstanceOperations.
+ *
+ * @return Resource collection API of AccessReviewInstanceOperations.
+ */
+ public AccessReviewInstanceOperations accessReviewInstanceOperations() {
+ if (this.accessReviewInstanceOperations == null) {
+ this.accessReviewInstanceOperations =
+ new AccessReviewInstanceOperationsImpl(clientObject.getAccessReviewInstanceOperations(), this);
+ }
+ return accessReviewInstanceOperations;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstanceDecisions.
+ *
+ * @return Resource collection API of AccessReviewInstanceDecisions.
+ */
+ public AccessReviewInstanceDecisions accessReviewInstanceDecisions() {
+ if (this.accessReviewInstanceDecisions == null) {
+ this.accessReviewInstanceDecisions =
+ new AccessReviewInstanceDecisionsImpl(clientObject.getAccessReviewInstanceDecisions(), this);
+ }
+ return accessReviewInstanceDecisions;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstanceContactedReviewers.
+ *
+ * @return Resource collection API of AccessReviewInstanceContactedReviewers.
+ */
+ public AccessReviewInstanceContactedReviewers accessReviewInstanceContactedReviewers() {
+ if (this.accessReviewInstanceContactedReviewers == null) {
+ this.accessReviewInstanceContactedReviewers =
+ new AccessReviewInstanceContactedReviewersImpl(
+ clientObject.getAccessReviewInstanceContactedReviewers(), this);
+ }
+ return accessReviewInstanceContactedReviewers;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewDefaultSettingsOperations.
+ *
+ * @return Resource collection API of AccessReviewDefaultSettingsOperations.
+ */
+ public AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations() {
+ if (this.accessReviewDefaultSettingsOperations == null) {
+ this.accessReviewDefaultSettingsOperations =
+ new AccessReviewDefaultSettingsOperationsImpl(
+ clientObject.getAccessReviewDefaultSettingsOperations(), this);
+ }
+ return accessReviewDefaultSettingsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewHistoryDefinitions.
+ *
+ * @return Resource collection API of ScopeAccessReviewHistoryDefinitions.
+ */
+ public ScopeAccessReviewHistoryDefinitions scopeAccessReviewHistoryDefinitions() {
+ if (this.scopeAccessReviewHistoryDefinitions == null) {
+ this.scopeAccessReviewHistoryDefinitions =
+ new ScopeAccessReviewHistoryDefinitionsImpl(
+ clientObject.getScopeAccessReviewHistoryDefinitions(), this);
+ }
+ return scopeAccessReviewHistoryDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionOperations.
+ *
+ * @return Resource collection API of ScopeAccessReviewHistoryDefinitionOperations.
+ */
+ public ScopeAccessReviewHistoryDefinitionOperations scopeAccessReviewHistoryDefinitionOperations() {
+ if (this.scopeAccessReviewHistoryDefinitionOperations == null) {
+ this.scopeAccessReviewHistoryDefinitionOperations =
+ new ScopeAccessReviewHistoryDefinitionOperationsImpl(
+ clientObject.getScopeAccessReviewHistoryDefinitionOperations(), this);
+ }
+ return scopeAccessReviewHistoryDefinitionOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionInstances.
+ *
+ * @return Resource collection API of ScopeAccessReviewHistoryDefinitionInstances.
+ */
+ public ScopeAccessReviewHistoryDefinitionInstances scopeAccessReviewHistoryDefinitionInstances() {
+ if (this.scopeAccessReviewHistoryDefinitionInstances == null) {
+ this.scopeAccessReviewHistoryDefinitionInstances =
+ new ScopeAccessReviewHistoryDefinitionInstancesImpl(
+ clientObject.getScopeAccessReviewHistoryDefinitionInstances(), this);
+ }
+ return scopeAccessReviewHistoryDefinitionInstances;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewHistoryDefinitionInstancesOperations.
+ *
+ * @return Resource collection API of ScopeAccessReviewHistoryDefinitionInstancesOperations.
+ */
+ public ScopeAccessReviewHistoryDefinitionInstancesOperations
+ scopeAccessReviewHistoryDefinitionInstancesOperations() {
+ if (this.scopeAccessReviewHistoryDefinitionInstancesOperations == null) {
+ this.scopeAccessReviewHistoryDefinitionInstancesOperations =
+ new ScopeAccessReviewHistoryDefinitionInstancesOperationsImpl(
+ clientObject.getScopeAccessReviewHistoryDefinitionInstancesOperations(), this);
+ }
+ return scopeAccessReviewHistoryDefinitionInstancesOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewScheduleDefinitions.
+ *
+ * @return Resource collection API of ScopeAccessReviewScheduleDefinitions.
+ */
+ public ScopeAccessReviewScheduleDefinitions scopeAccessReviewScheduleDefinitions() {
+ if (this.scopeAccessReviewScheduleDefinitions == null) {
+ this.scopeAccessReviewScheduleDefinitions =
+ new ScopeAccessReviewScheduleDefinitionsImpl(
+ clientObject.getScopeAccessReviewScheduleDefinitions(), this);
+ }
+ return scopeAccessReviewScheduleDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewInstances.
+ *
+ * @return Resource collection API of ScopeAccessReviewInstances.
+ */
+ public ScopeAccessReviewInstances scopeAccessReviewInstances() {
+ if (this.scopeAccessReviewInstances == null) {
+ this.scopeAccessReviewInstances =
+ new ScopeAccessReviewInstancesImpl(clientObject.getScopeAccessReviewInstances(), this);
+ }
+ return scopeAccessReviewInstances;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewInstanceOperations.
+ *
+ * @return Resource collection API of ScopeAccessReviewInstanceOperations.
+ */
+ public ScopeAccessReviewInstanceOperations scopeAccessReviewInstanceOperations() {
+ if (this.scopeAccessReviewInstanceOperations == null) {
+ this.scopeAccessReviewInstanceOperations =
+ new ScopeAccessReviewInstanceOperationsImpl(
+ clientObject.getScopeAccessReviewInstanceOperations(), this);
+ }
+ return scopeAccessReviewInstanceOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewInstanceDecisions.
+ *
+ * @return Resource collection API of ScopeAccessReviewInstanceDecisions.
+ */
+ public ScopeAccessReviewInstanceDecisions scopeAccessReviewInstanceDecisions() {
+ if (this.scopeAccessReviewInstanceDecisions == null) {
+ this.scopeAccessReviewInstanceDecisions =
+ new ScopeAccessReviewInstanceDecisionsImpl(clientObject.getScopeAccessReviewInstanceDecisions(), this);
+ }
+ return scopeAccessReviewInstanceDecisions;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewInstanceContactedReviewers.
+ *
+ * @return Resource collection API of ScopeAccessReviewInstanceContactedReviewers.
+ */
+ public ScopeAccessReviewInstanceContactedReviewers scopeAccessReviewInstanceContactedReviewers() {
+ if (this.scopeAccessReviewInstanceContactedReviewers == null) {
+ this.scopeAccessReviewInstanceContactedReviewers =
+ new ScopeAccessReviewInstanceContactedReviewersImpl(
+ clientObject.getScopeAccessReviewInstanceContactedReviewers(), this);
+ }
+ return scopeAccessReviewInstanceContactedReviewers;
+ }
+
+ /**
+ * Gets the resource collection API of ScopeAccessReviewDefaultSettings.
+ *
+ * @return Resource collection API of ScopeAccessReviewDefaultSettings.
+ */
+ public ScopeAccessReviewDefaultSettings scopeAccessReviewDefaultSettings() {
+ if (this.scopeAccessReviewDefaultSettings == null) {
+ this.scopeAccessReviewDefaultSettings =
+ new ScopeAccessReviewDefaultSettingsImpl(clientObject.getScopeAccessReviewDefaultSettings(), this);
+ }
+ return scopeAccessReviewDefaultSettings;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals.
+ *
+ * @return Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals.
+ */
+ public AccessReviewScheduleDefinitionsAssignedForMyApprovals
+ accessReviewScheduleDefinitionsAssignedForMyApprovals() {
+ if (this.accessReviewScheduleDefinitionsAssignedForMyApprovals == null) {
+ this.accessReviewScheduleDefinitionsAssignedForMyApprovals =
+ new AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl(
+ clientObject.getAccessReviewScheduleDefinitionsAssignedForMyApprovals(), this);
+ }
+ return accessReviewScheduleDefinitionsAssignedForMyApprovals;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstancesAssignedForMyApprovals.
+ *
+ * @return Resource collection API of AccessReviewInstancesAssignedForMyApprovals.
+ */
+ public AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals() {
+ if (this.accessReviewInstancesAssignedForMyApprovals == null) {
+ this.accessReviewInstancesAssignedForMyApprovals =
+ new AccessReviewInstancesAssignedForMyApprovalsImpl(
+ clientObject.getAccessReviewInstancesAssignedForMyApprovals(), this);
+ }
+ return accessReviewInstancesAssignedForMyApprovals;
+ }
+
+ /**
+ * Gets the resource collection API of AccessReviewInstanceMyDecisions.
+ *
+ * @return Resource collection API of AccessReviewInstanceMyDecisions.
+ */
+ public AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions() {
+ if (this.accessReviewInstanceMyDecisions == null) {
+ this.accessReviewInstanceMyDecisions =
+ new AccessReviewInstanceMyDecisionsImpl(clientObject.getAccessReviewInstanceMyDecisions(), this);
+ }
+ return accessReviewInstanceMyDecisions;
+ }
+
+ /**
+ * Gets the resource collection API of TenantLevelAccessReviewInstanceContactedReviewers.
+ *
+ * @return Resource collection API of TenantLevelAccessReviewInstanceContactedReviewers.
+ */
+ public TenantLevelAccessReviewInstanceContactedReviewers tenantLevelAccessReviewInstanceContactedReviewers() {
+ if (this.tenantLevelAccessReviewInstanceContactedReviewers == null) {
+ this.tenantLevelAccessReviewInstanceContactedReviewers =
+ new TenantLevelAccessReviewInstanceContactedReviewersImpl(
+ clientObject.getTenantLevelAccessReviewInstanceContactedReviewers(), this);
+ }
+ return tenantLevelAccessReviewInstanceContactedReviewers;
+ }
+
+ /**
+ * Gets the resource collection API of Alerts.
+ *
+ * @return Resource collection API of Alerts.
+ */
+ public Alerts alerts() {
+ if (this.alerts == null) {
+ this.alerts = new AlertsImpl(clientObject.getAlerts(), this);
+ }
+ return alerts;
+ }
+
+ /**
+ * Gets the resource collection API of AlertConfigurations.
+ *
+ * @return Resource collection API of AlertConfigurations.
+ */
+ public AlertConfigurations alertConfigurations() {
+ if (this.alertConfigurations == null) {
+ this.alertConfigurations = new AlertConfigurationsImpl(clientObject.getAlertConfigurations(), this);
+ }
+ return alertConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of AlertDefinitions.
+ *
+ * @return Resource collection API of AlertDefinitions.
+ */
+ public AlertDefinitions alertDefinitions() {
+ if (this.alertDefinitions == null) {
+ this.alertDefinitions = new AlertDefinitionsImpl(clientObject.getAlertDefinitions(), this);
+ }
+ return alertDefinitions;
+ }
+
+ /**
+ * Gets the resource collection API of AlertIncidents.
+ *
+ * @return Resource collection API of AlertIncidents.
+ */
+ public AlertIncidents alertIncidents() {
+ if (this.alertIncidents == null) {
+ this.alertIncidents = new AlertIncidentsImpl(clientObject.getAlertIncidents(), this);
+ }
+ return alertIncidents;
+ }
+
+ /**
+ * Gets the resource collection API of AlertOperations.
+ *
+ * @return Resource collection API of AlertOperations.
+ */
+ public AlertOperations alertOperations() {
+ if (this.alertOperations == null) {
+ this.alertOperations = new AlertOperationsImpl(clientObject.getAlertOperations(), this);
+ }
+ return alertOperations;
+ }
+
+ /**
+ * @return Wrapped service client AuthorizationManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public AuthorizationManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java
new file mode 100644
index 0000000000000..93f8d7ab2fe39
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewDefaultSettingsOperationsClient.
+ */
+public interface AccessReviewDefaultSettingsOperationsClient {
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(Context context);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner get();
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.java
new file mode 100644
index 0000000000000..58fa435ecd2fd
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesClient.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionInstancesClient.
+ */
+public interface AccessReviewHistoryDefinitionInstancesClient {
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateDownloadUriWithResponse(
+ String historyDefinitionId, String instanceId, Context context);
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryInstanceInner generateDownloadUri(String historyDefinitionId, String instanceId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.java
new file mode 100644
index 0000000000000..1b38c8a319466
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionInstancesOperationsClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionInstancesOperationsClient.
+ */
+public interface AccessReviewHistoryDefinitionInstancesOperationsClient {
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String historyDefinitionId);
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String historyDefinitionId, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.java
new file mode 100644
index 0000000000000..9982c2ff0f04c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionOperationsClient.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionOperationsClient.
+ */
+public interface AccessReviewHistoryDefinitionOperationsClient {
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context);
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryDefinitionInner create(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties);
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String historyDefinitionId, Context context);
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteById(String historyDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java
new file mode 100644
index 0000000000000..57c368b869a20
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewHistoryDefinitionsClient.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewHistoryDefinitionsClient. */
+public interface AccessReviewHistoryDefinitionsClient {
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String historyDefinitionId, Context context);
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryDefinitionInner getById(String historyDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.java
new file mode 100644
index 0000000000000..bff9ff6a7e3c1
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceContactedReviewersClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewInstanceContactedReviewersClient.
+ */
+public interface AccessReviewInstanceContactedReviewersClient {
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java
new file mode 100644
index 0000000000000..d1023194da9b4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */
+public interface AccessReviewInstanceDecisionsClient {
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java
new file mode 100644
index 0000000000000..c461c849922eb
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */
+public interface AccessReviewInstanceMyDecisionsClient {
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id);
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context);
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, Context context);
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId);
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response patchWithResponse(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context);
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDecisionInner patch(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java
new file mode 100644
index 0000000000000..834f30eb58434
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */
+public interface AccessReviewInstanceOperationsClient {
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetDecisions(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void applyDecisions(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void sendReminders(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to accept recommendations for decision in an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to accept recommendations for decision in an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void acceptRecommendations(String scheduleDefinitionId, String id);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java
new file mode 100644
index 0000000000000..7557eb64f60f2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java
@@ -0,0 +1,73 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewInstancesAssignedForMyApprovalsClient.
+ */
+public interface AccessReviewInstancesAssignedForMyApprovalsClient {
+ /**
+ * Get access review instances assigned for my approval.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId);
+
+ /**
+ * Get access review instances assigned for my approval.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String filter, Context context);
+
+ /**
+ * Get single access review instance assigned for my approval.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review instance assigned for my approval along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * Get single access review instance assigned for my approval.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review instance assigned for my approval.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner getById(String scheduleDefinitionId, String id);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java
new file mode 100644
index 0000000000000..b0b20e8ba74c7
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstancesClient. */
+public interface AccessReviewInstancesClient {
+ /**
+ * Get access review instances.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String filter, Context context);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner getById(String scheduleDefinitionId, String id);
+
+ /**
+ * Update access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Access review instance properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties, Context context);
+
+ /**
+ * Update access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Access review instance properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner create(String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java
new file mode 100644
index 0000000000000..5accea524040a
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.
+ */
+public interface AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient {
+ /**
+ * Get access review instances assigned for my approval.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get access review instances assigned for my approval.
+ *
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java
new file mode 100644
index 0000000000000..af61109e72165
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewScheduleDefinitionsClient. */
+public interface AccessReviewScheduleDefinitionsClient {
+ /**
+ * Get access review schedule definitions.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review schedule definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Get access review schedule definitions.
+ *
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review schedule definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String filter, Context context);
+
+ /**
+ * Get single access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, Context context);
+
+ /**
+ * Get single access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String scheduleDefinitionId, Context context);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteById(String scheduleDefinitionId);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateByIdWithResponse(
+ String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner createOrUpdateById(
+ String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scheduleDefinitionId, Context context);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scheduleDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java
new file mode 100644
index 0000000000000..0835241ad60cf
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertConfigurationsClient.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertConfigurationInner;
+
+/** An instance of this class provides access to all the operations defined in AlertConfigurationsClient. */
+public interface AlertConfigurationsClient {
+ /**
+ * Get the specified alert configuration.
+ *
+ * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert configuration to get.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert configuration along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String alertId, Context context);
+
+ /**
+ * Get the specified alert configuration.
+ *
+ * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert configuration to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertConfigurationInner get(String scope, String alertId);
+
+ /**
+ * Update an alert configuration.
+ *
+ * @param scope The scope of the alert configuration.
+ * @param alertId The name of the alert configuration to update.
+ * @param parameters Parameters for the alert configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String scope, String alertId, AlertConfigurationInner parameters, Context context);
+
+ /**
+ * Update an alert configuration.
+ *
+ * @param scope The scope of the alert configuration.
+ * @param alertId The name of the alert configuration to update.
+ * @param parameters Parameters for the alert configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void update(String scope, String alertId, AlertConfigurationInner parameters);
+
+ /**
+ * Gets alert configurations for a resource scope.
+ *
+ * @param scope The scope of the alert configuration.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert configurations for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets alert configurations for a resource scope.
+ *
+ * @param scope The scope of the alert configuration.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert configurations for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java
new file mode 100644
index 0000000000000..a39987e328703
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertDefinitionsClient.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertDefinitionInner;
+
+/** An instance of this class provides access to all the operations defined in AlertDefinitionsClient. */
+public interface AlertDefinitionsClient {
+ /**
+ * Get the specified alert definition.
+ *
+ * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertDefinitionId The name of the alert definition to get.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String alertDefinitionId, Context context);
+
+ /**
+ * Get the specified alert definition.
+ *
+ * @param scope The scope of the alert definition. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertDefinitionId The name of the alert definition to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertDefinitionInner get(String scope, String alertDefinitionId);
+
+ /**
+ * Gets alert definitions for a resource scope.
+ *
+ * @param scope The scope of the alert definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert definitions for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets alert definitions for a resource scope.
+ *
+ * @param scope The scope of the alert definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert definitions for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java
new file mode 100644
index 0000000000000..ae1846fbbe9f3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertIncidentsClient.java
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertIncidentInner;
+
+/** An instance of this class provides access to all the operations defined in AlertIncidentsClient. */
+public interface AlertIncidentsClient {
+ /**
+ * Get the specified alert incident.
+ *
+ * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert.
+ * @param alertIncidentId The name of the alert incident to get.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert incident along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String alertId, String alertIncidentId, Context context);
+
+ /**
+ * Get the specified alert incident.
+ *
+ * @param scope The scope of the alert incident. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert.
+ * @param alertIncidentId The name of the alert incident to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert incident.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertIncidentInner get(String scope, String alertId, String alertIncidentId);
+
+ /**
+ * Gets alert incidents for a resource scope.
+ *
+ * @param scope The scope of the alert incident.
+ * @param alertId The name of the alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert incidents for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String alertId);
+
+ /**
+ * Gets alert incidents for a resource scope.
+ *
+ * @param scope The scope of the alert incident.
+ * @param alertId The name of the alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert incidents for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, String alertId, Context context);
+
+ /**
+ * Remediate an alert incident.
+ *
+ * @param scope The scope of the alert incident.
+ * @param alertId The name of the alert.
+ * @param alertIncidentId The name of the alert incident to remediate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response remediateWithResponse(String scope, String alertId, String alertIncidentId, Context context);
+
+ /**
+ * Remediate an alert incident.
+ *
+ * @param scope The scope of the alert incident.
+ * @param alertId The name of the alert.
+ * @param alertIncidentId The name of the alert incident to remediate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void remediate(String scope, String alertId, String alertIncidentId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.java
new file mode 100644
index 0000000000000..1519cd0686918
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertOperationsClient.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.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationListResultInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner;
+
+/** An instance of this class provides access to all the operations defined in AlertOperationsClient. */
+public interface AlertOperationsClient {
+ /**
+ * Get the specified alert operation.
+ *
+ * @param scope The scope of the alert operation.
+ * @param operationId The id of the alert operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String operationId, Context context);
+
+ /**
+ * Get the specified alert operation.
+ *
+ * @param scope The scope of the alert operation.
+ * @param operationId The id of the alert operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationResultInner get(String scope, String operationId);
+
+ /**
+ * Gets alert operations for a resource scope.
+ *
+ * @param scope The scope of the alert operation.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operations for a resource scope along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listForScopeWithResponse(String scope, Context context);
+
+ /**
+ * Gets alert operations for a resource scope.
+ *
+ * @param scope The scope of the alert operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operations for a resource scope.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationListResultInner listForScope(String scope);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java
new file mode 100644
index 0000000000000..9b9b72fc8dc4f
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AlertsClient.java
@@ -0,0 +1,215 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AlertOperationResultInner;
+
+/** An instance of this class provides access to all the operations defined in AlertsClient. */
+public interface AlertsClient {
+ /**
+ * Get the specified alert.
+ *
+ * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert to get.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, String alertId, Context context);
+
+ /**
+ * Get the specified alert.
+ *
+ * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription,
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for
+ * a resource group, and
+ * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}'
+ * for a resource.
+ * @param alertId The name of the alert to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified alert.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertInner get(String scope, String alertId);
+
+ /**
+ * Update an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to dismiss.
+ * @param parameters Parameters for the alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(String scope, String alertId, AlertInner parameters, Context context);
+
+ /**
+ * Update an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to dismiss.
+ * @param parameters Parameters for the alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void update(String scope, String alertId, AlertInner parameters);
+
+ /**
+ * Gets alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alerts for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope);
+
+ /**
+ * Gets alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alerts for a resource scope as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listForScope(String scope, Context context);
+
+ /**
+ * Refresh an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to refresh.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AlertOperationResultInner> beginRefresh(
+ String scope, String alertId);
+
+ /**
+ * Refresh an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to refresh.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AlertOperationResultInner> beginRefresh(
+ String scope, String alertId, Context context);
+
+ /**
+ * Refresh an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to refresh.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationResultInner refresh(String scope, String alertId);
+
+ /**
+ * Refresh an alert.
+ *
+ * @param scope The scope of the alert.
+ * @param alertId The name of the alert to refresh.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationResultInner refresh(String scope, String alertId, Context context);
+
+ /**
+ * Refresh all alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AlertOperationResultInner> beginRefreshAll(String scope);
+
+ /**
+ * Refresh all alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AlertOperationResultInner> beginRefreshAll(
+ String scope, Context context);
+
+ /**
+ * Refresh all alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationResultInner refreshAll(String scope);
+
+ /**
+ * Refresh all alerts for a resource scope.
+ *
+ * @param scope The scope of the alert.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return alert operation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AlertOperationResultInner refreshAll(String scope, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java
new file mode 100644
index 0000000000000..ab7f6fa21120a
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java
@@ -0,0 +1,251 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for AuthorizationManagementClient class. */
+public interface AuthorizationManagementClient {
+ /**
+ * Gets The ID of the target subscription.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the AccessReviewHistoryDefinitionsClient object to access its operations.
+ *
+ * @return the AccessReviewHistoryDefinitionsClient object.
+ */
+ AccessReviewHistoryDefinitionsClient getAccessReviewHistoryDefinitions();
+
+ /**
+ * Gets the AccessReviewHistoryDefinitionOperationsClient object to access its operations.
+ *
+ * @return the AccessReviewHistoryDefinitionOperationsClient object.
+ */
+ AccessReviewHistoryDefinitionOperationsClient getAccessReviewHistoryDefinitionOperations();
+
+ /**
+ * Gets the AccessReviewHistoryDefinitionInstancesClient object to access its operations.
+ *
+ * @return the AccessReviewHistoryDefinitionInstancesClient object.
+ */
+ AccessReviewHistoryDefinitionInstancesClient getAccessReviewHistoryDefinitionInstances();
+
+ /**
+ * Gets the AccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations.
+ *
+ * @return the AccessReviewHistoryDefinitionInstancesOperationsClient object.
+ */
+ AccessReviewHistoryDefinitionInstancesOperationsClient getAccessReviewHistoryDefinitionInstancesOperations();
+
+ /**
+ * Gets the AccessReviewScheduleDefinitionsClient object to access its operations.
+ *
+ * @return the AccessReviewScheduleDefinitionsClient object.
+ */
+ AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions();
+
+ /**
+ * Gets the AccessReviewInstancesClient object to access its operations.
+ *
+ * @return the AccessReviewInstancesClient object.
+ */
+ AccessReviewInstancesClient getAccessReviewInstances();
+
+ /**
+ * Gets the AccessReviewInstanceOperationsClient object to access its operations.
+ *
+ * @return the AccessReviewInstanceOperationsClient object.
+ */
+ AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations();
+
+ /**
+ * Gets the AccessReviewInstanceDecisionsClient object to access its operations.
+ *
+ * @return the AccessReviewInstanceDecisionsClient object.
+ */
+ AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions();
+
+ /**
+ * Gets the AccessReviewInstanceContactedReviewersClient object to access its operations.
+ *
+ * @return the AccessReviewInstanceContactedReviewersClient object.
+ */
+ AccessReviewInstanceContactedReviewersClient getAccessReviewInstanceContactedReviewers();
+
+ /**
+ * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations.
+ *
+ * @return the AccessReviewDefaultSettingsOperationsClient object.
+ */
+ AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations();
+
+ /**
+ * Gets the ScopeAccessReviewHistoryDefinitionsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewHistoryDefinitionsClient object.
+ */
+ ScopeAccessReviewHistoryDefinitionsClient getScopeAccessReviewHistoryDefinitions();
+
+ /**
+ * Gets the ScopeAccessReviewHistoryDefinitionOperationsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewHistoryDefinitionOperationsClient object.
+ */
+ ScopeAccessReviewHistoryDefinitionOperationsClient getScopeAccessReviewHistoryDefinitionOperations();
+
+ /**
+ * Gets the ScopeAccessReviewHistoryDefinitionInstancesClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewHistoryDefinitionInstancesClient object.
+ */
+ ScopeAccessReviewHistoryDefinitionInstancesClient getScopeAccessReviewHistoryDefinitionInstances();
+
+ /**
+ * Gets the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewHistoryDefinitionInstancesOperationsClient object.
+ */
+ ScopeAccessReviewHistoryDefinitionInstancesOperationsClient
+ getScopeAccessReviewHistoryDefinitionInstancesOperations();
+
+ /**
+ * Gets the ScopeAccessReviewScheduleDefinitionsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewScheduleDefinitionsClient object.
+ */
+ ScopeAccessReviewScheduleDefinitionsClient getScopeAccessReviewScheduleDefinitions();
+
+ /**
+ * Gets the ScopeAccessReviewInstancesClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewInstancesClient object.
+ */
+ ScopeAccessReviewInstancesClient getScopeAccessReviewInstances();
+
+ /**
+ * Gets the ScopeAccessReviewInstanceOperationsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewInstanceOperationsClient object.
+ */
+ ScopeAccessReviewInstanceOperationsClient getScopeAccessReviewInstanceOperations();
+
+ /**
+ * Gets the ScopeAccessReviewInstanceDecisionsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewInstanceDecisionsClient object.
+ */
+ ScopeAccessReviewInstanceDecisionsClient getScopeAccessReviewInstanceDecisions();
+
+ /**
+ * Gets the ScopeAccessReviewInstanceContactedReviewersClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewInstanceContactedReviewersClient object.
+ */
+ ScopeAccessReviewInstanceContactedReviewersClient getScopeAccessReviewInstanceContactedReviewers();
+
+ /**
+ * Gets the ScopeAccessReviewDefaultSettingsClient object to access its operations.
+ *
+ * @return the ScopeAccessReviewDefaultSettingsClient object.
+ */
+ ScopeAccessReviewDefaultSettingsClient getScopeAccessReviewDefaultSettings();
+
+ /**
+ * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations.
+ *
+ * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object.
+ */
+ AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient
+ getAccessReviewScheduleDefinitionsAssignedForMyApprovals();
+
+ /**
+ * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations.
+ *
+ * @return the AccessReviewInstancesAssignedForMyApprovalsClient object.
+ */
+ AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals();
+
+ /**
+ * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations.
+ *
+ * @return the AccessReviewInstanceMyDecisionsClient object.
+ */
+ AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions();
+
+ /**
+ * Gets the TenantLevelAccessReviewInstanceContactedReviewersClient object to access its operations.
+ *
+ * @return the TenantLevelAccessReviewInstanceContactedReviewersClient object.
+ */
+ TenantLevelAccessReviewInstanceContactedReviewersClient getTenantLevelAccessReviewInstanceContactedReviewers();
+
+ /**
+ * Gets the AlertsClient object to access its operations.
+ *
+ * @return the AlertsClient object.
+ */
+ AlertsClient getAlerts();
+
+ /**
+ * Gets the AlertConfigurationsClient object to access its operations.
+ *
+ * @return the AlertConfigurationsClient object.
+ */
+ AlertConfigurationsClient getAlertConfigurations();
+
+ /**
+ * Gets the AlertDefinitionsClient object to access its operations.
+ *
+ * @return the AlertDefinitionsClient object.
+ */
+ AlertDefinitionsClient getAlertDefinitions();
+
+ /**
+ * Gets the AlertIncidentsClient object to access its operations.
+ *
+ * @return the AlertIncidentsClient object.
+ */
+ AlertIncidentsClient getAlertIncidents();
+
+ /**
+ * Gets the AlertOperationsClient object to access its operations.
+ *
+ * @return the AlertOperationsClient object.
+ */
+ AlertOperationsClient getAlertOperations();
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..d360ea26e0c43
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists the operations available from this provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists the operations available from this provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java
new file mode 100644
index 0000000000000..c3adf52cf8e7c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewDefaultSettingsClient.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+
+/**
+ * An instance of this class provides access to all the operations defined in ScopeAccessReviewDefaultSettingsClient.
+ */
+public interface ScopeAccessReviewDefaultSettingsClient {
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param scope The scope of the resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String scope, Context context);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param scope The scope of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner get(String scope);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param scope The scope of the resource.
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response putWithResponse(
+ String scope, AccessReviewScheduleSettings properties, Context context);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param scope The scope of the resource.
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner put(String scope, AccessReviewScheduleSettings properties);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java
new file mode 100644
index 0000000000000..dba1792d80f8c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesClient.java
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ScopeAccessReviewHistoryDefinitionInstancesClient.
+ */
+public interface ScopeAccessReviewHistoryDefinitionInstancesClient {
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response generateDownloadUriWithResponse(
+ String scope, String historyDefinitionId, String instanceId, Context context);
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryInstanceInner generateDownloadUri(String scope, String historyDefinitionId, String instanceId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.java
new file mode 100644
index 0000000000000..dcca77dc2579e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ScopeAccessReviewHistoryDefinitionInstancesOperationsClient.
+ */
+public interface ScopeAccessReviewHistoryDefinitionInstancesOperationsClient {
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String historyDefinitionId);
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String historyDefinitionId, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java
new file mode 100644
index 0000000000000..c8f18e1d38f16
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionOperationsClient.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ScopeAccessReviewHistoryDefinitionOperationsClient.
+ */
+public interface ScopeAccessReviewHistoryDefinitionOperationsClient {
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context);
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryDefinitionInner create(
+ String scope, String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties);
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String scope, String historyDefinitionId, Context context);
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteById(String scope, String historyDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java
new file mode 100644
index 0000000000000..44c883e63dbd2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewHistoryDefinitionsClient.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ScopeAccessReviewHistoryDefinitionsClient.
+ */
+public interface ScopeAccessReviewHistoryDefinitionsClient {
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param scope The scope of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope);
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param scope The scope of the resource.
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String filter, Context context);
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scope, String historyDefinitionId, Context context);
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param scope The scope of the resource.
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewHistoryDefinitionInner getById(String scope, String historyDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.java
new file mode 100644
index 0000000000000..4ffb0135d5269
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceContactedReviewersClient.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ScopeAccessReviewInstanceContactedReviewersClient.
+ */
+public interface ScopeAccessReviewInstanceContactedReviewersClient {
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String scope, String scheduleDefinitionId, String id, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java
new file mode 100644
index 0000000000000..f933d8f8ad627
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceDecisionsClient.java
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceDecisionsClient.
+ */
+public interface ScopeAccessReviewInstanceDecisionsClient {
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String scope, String scheduleDefinitionId, String id, String filter, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java
new file mode 100644
index 0000000000000..c88fc36ba09bd
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstanceOperationsClient.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.models.RecordAllDecisionsProperties;
+
+/**
+ * An instance of this class provides access to all the operations defined in ScopeAccessReviewInstanceOperationsClient.
+ */
+public interface ScopeAccessReviewInstanceOperationsClient {
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scope, String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * An action to approve/deny all decisions for a review with certain filters.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Record all decisions payload.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response recordAllDecisionsWithResponse(
+ String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties, Context context);
+
+ /**
+ * An action to approve/deny all decisions for a review with certain filters.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Record all decisions payload.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void recordAllDecisions(
+ String scope, String scheduleDefinitionId, String id, RecordAllDecisionsProperties properties);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response resetDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetDecisions(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response applyDecisionsWithResponse(String scope, String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void applyDecisions(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response sendRemindersWithResponse(String scope, String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void sendReminders(String scope, String scheduleDefinitionId, String id);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java
new file mode 100644
index 0000000000000..0b2e353f88a32
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewInstancesClient.java
@@ -0,0 +1,114 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties;
+
+/** An instance of this class provides access to all the operations defined in ScopeAccessReviewInstancesClient. */
+public interface ScopeAccessReviewInstancesClient {
+ /**
+ * Get access review instances.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String scheduleDefinitionId);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String scope, String scheduleDefinitionId, String filter, Context context);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scope, String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner getById(String scope, String scheduleDefinitionId, String id);
+
+ /**
+ * Update access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Access review instance properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String scope,
+ String scheduleDefinitionId,
+ String id,
+ AccessReviewInstanceProperties properties,
+ Context context);
+
+ /**
+ * Update access review instance.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param properties Access review instance properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner create(
+ String scope, String scheduleDefinitionId, String id, AccessReviewInstanceProperties properties);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.java
new file mode 100644
index 0000000000000..a9045b8cfc907
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ScopeAccessReviewScheduleDefinitionsClient.java
@@ -0,0 +1,161 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ScopeAccessReviewScheduleDefinitionsClient.
+ */
+public interface ScopeAccessReviewScheduleDefinitionsClient {
+ /**
+ * Get access review schedule definitions.
+ *
+ * @param scope The scope of the resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review schedule definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope);
+
+ /**
+ * Get access review schedule definitions.
+ *
+ * @param scope The scope of the resource.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review schedule definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scope, String filter, Context context);
+
+ /**
+ * Get single access review definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scope, String scheduleDefinitionId, Context context);
+
+ /**
+ * Get single access review definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner getById(String scope, String scheduleDefinitionId);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String scope, String scheduleDefinitionId, Context context);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteById(String scope, String scheduleDefinitionId);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateByIdWithResponse(
+ String scope,
+ String scheduleDefinitionId,
+ AccessReviewScheduleDefinitionProperties properties,
+ Context context);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner createOrUpdateById(
+ String scope, String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scope, String scheduleDefinitionId, Context context);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scope The scope of the resource.
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scope, String scheduleDefinitionId);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.java
new file mode 100644
index 0000000000000..ef695f5331f48
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/TenantLevelAccessReviewInstanceContactedReviewersClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * TenantLevelAccessReviewInstanceContactedReviewersClient.
+ */
+public interface TenantLevelAccessReviewInstanceContactedReviewersClient {
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String scheduleDefinitionId, String id, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java
new file mode 100644
index 0000000000000..56b236dd7cbd5
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Details of the actor identity. */
+@Immutable
+public class AccessReviewActorIdentity {
+ /*
+ * The identity id
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalId;
+
+ /*
+ * The identity type : user/servicePrincipal
+ */
+ @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentityType principalType;
+
+ /*
+ * The identity display name
+ */
+ @JsonProperty(value = "principalName", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalName;
+
+ /*
+ * The user principal name(if valid)
+ */
+ @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY)
+ private String userPrincipalName;
+
+ /** Creates an instance of AccessReviewActorIdentity class. */
+ public AccessReviewActorIdentity() {
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.principalName;
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.userPrincipalName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.java
new file mode 100644
index 0000000000000..bd5cb46310a44
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.management.ProxyResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review Contacted Reviewer. */
+@Immutable
+public final class AccessReviewContactedReviewerInner extends ProxyResource {
+ /*
+ * Access Review Contacted Reviewer properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewContactedReviewerProperties innerProperties;
+
+ /** Creates an instance of AccessReviewContactedReviewerInner class. */
+ public AccessReviewContactedReviewerInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review Contacted Reviewer properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewContactedReviewerProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the userDisplayName property: The display name of the reviewer.
+ *
+ * @return the userDisplayName value.
+ */
+ public String userDisplayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().userDisplayName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name of the reviewer.
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName();
+ }
+
+ /**
+ * Get the createdDateTime property: Date Time when the reviewer was contacted.
+ *
+ * @return the createdDateTime value.
+ */
+ public OffsetDateTime createdDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdDateTime();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java
new file mode 100644
index 0000000000000..6b78cc260189b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.java
@@ -0,0 +1,70 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Properties of access review contacted reviewer. */
+@Immutable
+public final class AccessReviewContactedReviewerProperties {
+ /*
+ * The display name of the reviewer
+ */
+ @JsonProperty(value = "userDisplayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String userDisplayName;
+
+ /*
+ * The user principal name of the reviewer
+ */
+ @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY)
+ private String userPrincipalName;
+
+ /*
+ * Date Time when the reviewer was contacted.
+ */
+ @JsonProperty(value = "createdDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdDateTime;
+
+ /** Creates an instance of AccessReviewContactedReviewerProperties class. */
+ public AccessReviewContactedReviewerProperties() {
+ }
+
+ /**
+ * Get the userDisplayName property: The display name of the reviewer.
+ *
+ * @return the userDisplayName value.
+ */
+ public String userDisplayName() {
+ return this.userDisplayName;
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name of the reviewer.
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.userPrincipalName;
+ }
+
+ /**
+ * Get the createdDateTime property: Date Time when the reviewer was contacted.
+ *
+ * @return the createdDateTime value.
+ */
+ public OffsetDateTime createdDateTime() {
+ return this.createdDateTime;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java
new file mode 100644
index 0000000000000..3f88d0af12685
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java
@@ -0,0 +1,282 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review. */
+@Fluent
+public final class AccessReviewDecisionInner extends ProxyResource {
+ /*
+ * Access Review Decision properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewDecisionProperties innerProperties;
+
+ /** Creates an instance of AccessReviewDecisionInner class. */
+ public AccessReviewDecisionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review Decision properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewDecisionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the principal property: Principal associated with the decision record. Can be
+ * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity.
+ *
+ * @return the principal value.
+ */
+ public AccessReviewDecisionIdentity principal() {
+ return this.innerProperties() == null ? null : this.innerProperties().principal();
+ }
+
+ /**
+ * Get the recommendation property: The feature- generated recommendation shown to the reviewer.
+ *
+ * @return the recommendation value.
+ */
+ public AccessRecommendationType recommendation() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendation();
+ }
+
+ /**
+ * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @return the decision value.
+ */
+ public AccessReviewResult decision() {
+ return this.innerProperties() == null ? null : this.innerProperties().decision();
+ }
+
+ /**
+ * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @param decision the decision value to set.
+ * @return the AccessReviewDecisionInner object itself.
+ */
+ public AccessReviewDecisionInner withDecision(AccessReviewResult decision) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewDecisionProperties();
+ }
+ this.innerProperties().withDecision(decision);
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification provided by approvers for their action.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.innerProperties() == null ? null : this.innerProperties().justification();
+ }
+
+ /**
+ * Set the justification property: Justification provided by approvers for their action.
+ *
+ * @param justification the justification value to set.
+ * @return the AccessReviewDecisionInner object itself.
+ */
+ public AccessReviewDecisionInner withJustification(String justification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewDecisionProperties();
+ }
+ this.innerProperties().withJustification(justification);
+ return this;
+ }
+
+ /**
+ * Get the reviewedDateTime property: Date Time when a decision was taken.
+ *
+ * @return the reviewedDateTime value.
+ */
+ public OffsetDateTime reviewedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewedDateTime();
+ }
+
+ /**
+ * Get the applyResult property: The outcome of applying the decision.
+ *
+ * @return the applyResult value.
+ */
+ public AccessReviewApplyResult applyResult() {
+ return this.innerProperties() == null ? null : this.innerProperties().applyResult();
+ }
+
+ /**
+ * Get the appliedDateTime property: The date and time when the review decision was applied.
+ *
+ * @return the appliedDateTime value.
+ */
+ public OffsetDateTime appliedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().appliedDateTime();
+ }
+
+ /**
+ * Get the insights property: This is the collection of insights for this decision item.
+ *
+ * @return the insights value.
+ */
+ public List insights() {
+ return this.innerProperties() == null ? null : this.innerProperties().insights();
+ }
+
+ /**
+ * Set the insights property: This is the collection of insights for this decision item.
+ *
+ * @param insights the insights value to set.
+ * @return the AccessReviewDecisionInner object itself.
+ */
+ public AccessReviewDecisionInner withInsights(List insights) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewDecisionProperties();
+ }
+ this.innerProperties().withInsights(insights);
+ return this;
+ }
+
+ /**
+ * Get the type property: The type of resource.
+ *
+ * @return the type value.
+ */
+ public DecisionResourceType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Get the id property: The id of resource associated with a decision record.
+ *
+ * @return the id value.
+ */
+ public String idPropertiesId() {
+ return this.innerProperties() == null ? null : this.innerProperties().id();
+ }
+
+ /**
+ * Get the displayName property: The display name of resource associated with a decision record.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName();
+ }
+
+ /**
+ * Get the principalIdAppliedByPrincipalId property: The identity id.
+ *
+ * @return the principalIdAppliedByPrincipalId value.
+ */
+ public String principalIdAppliedByPrincipalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalIdAppliedByPrincipalId();
+ }
+
+ /**
+ * Get the principalTypeAppliedByPrincipalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalTypeAppliedByPrincipalType value.
+ */
+ public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalTypeAppliedByPrincipalType();
+ }
+
+ /**
+ * Get the principalNameAppliedByPrincipalName property: The identity display name.
+ *
+ * @return the principalNameAppliedByPrincipalName value.
+ */
+ public String principalNameAppliedByPrincipalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalNameAppliedByPrincipalName();
+ }
+
+ /**
+ * Get the userPrincipalNameAppliedByUserPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalNameAppliedByUserPrincipalName value.
+ */
+ public String userPrincipalNameAppliedByUserPrincipalName() {
+ return this.innerProperties() == null
+ ? null
+ : this.innerProperties().userPrincipalNameAppliedByUserPrincipalName();
+ }
+
+ /**
+ * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to
+ * a resource. This property represents details of the membership. Examples of this detail might be whether the
+ * principal has direct access or indirect access.
+ *
+ * @return the membershipTypes value.
+ */
+ public List membershipTypes() {
+ return this.innerProperties() == null ? null : this.innerProperties().membershipTypes();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java
new file mode 100644
index 0000000000000..d20b93c671a53
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionPrincipalResourceMembership.java
@@ -0,0 +1,59 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Target of the decision. */
+@Fluent
+public final class AccessReviewDecisionPrincipalResourceMembership {
+ /*
+ * Every decision item in an access review represents a principal's membership to a resource. This property
+ * represents details of the membership. Examples of this detail might be whether the principal has direct access
+ * or indirect access
+ */
+ @JsonProperty(value = "membershipTypes")
+ private List membershipTypes;
+
+ /** Creates an instance of AccessReviewDecisionPrincipalResourceMembership class. */
+ public AccessReviewDecisionPrincipalResourceMembership() {
+ }
+
+ /**
+ * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to
+ * a resource. This property represents details of the membership. Examples of this detail might be whether the
+ * principal has direct access or indirect access.
+ *
+ * @return the membershipTypes value.
+ */
+ public List membershipTypes() {
+ return this.membershipTypes;
+ }
+
+ /**
+ * Set the membershipTypes property: Every decision item in an access review represents a principal's membership to
+ * a resource. This property represents details of the membership. Examples of this detail might be whether the
+ * principal has direct access or indirect access.
+ *
+ * @param membershipTypes the membershipTypes value to set.
+ * @return the AccessReviewDecisionPrincipalResourceMembership object itself.
+ */
+ public AccessReviewDecisionPrincipalResourceMembership withMembershipTypes(
+ List membershipTypes) {
+ this.membershipTypes = membershipTypes;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java
new file mode 100644
index 0000000000000..ac565d8d6f3ad
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java
@@ -0,0 +1,413 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Approval Step. */
+@Fluent
+public final class AccessReviewDecisionProperties {
+ /*
+ * Principal associated with the decision record. Can be AccessReviewDecisionUserIdentity or
+ * AccessReviewDecisionServicePrincipalIdentity
+ */
+ @JsonProperty(value = "principal", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewDecisionIdentity principal;
+
+ /*
+ * Resource associated with this decision record.
+ */
+ @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewDecisionResource innerResource;
+
+ /*
+ * The feature- generated recommendation shown to the reviewer.
+ */
+ @JsonProperty(value = "recommendation", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessRecommendationType recommendation;
+
+ /*
+ * The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of
+ * Approve/Deny
+ */
+ @JsonProperty(value = "decision")
+ private AccessReviewResult decision;
+
+ /*
+ * Justification provided by approvers for their action
+ */
+ @JsonProperty(value = "justification")
+ private String justification;
+
+ /*
+ * Date Time when a decision was taken.
+ */
+ @JsonProperty(value = "reviewedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime reviewedDateTime;
+
+ /*
+ * Details of the approver.
+ */
+ @JsonProperty(value = "reviewedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentity innerReviewedBy;
+
+ /*
+ * The outcome of applying the decision.
+ */
+ @JsonProperty(value = "applyResult", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewApplyResult applyResult;
+
+ /*
+ * The date and time when the review decision was applied.
+ */
+ @JsonProperty(value = "appliedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime appliedDateTime;
+
+ /*
+ * Details of the approver.
+ */
+ @JsonProperty(value = "appliedBy", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentity innerAppliedBy;
+
+ /*
+ * This is the collection of insights for this decision item.
+ */
+ @JsonProperty(value = "insights")
+ private List insights;
+
+ /*
+ * Details of the membership type.
+ */
+ @JsonProperty(value = "principalResourceMembership", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewDecisionPrincipalResourceMembership innerPrincipalResourceMembership;
+
+ /** Creates an instance of AccessReviewDecisionProperties class. */
+ public AccessReviewDecisionProperties() {
+ }
+
+ /**
+ * Get the principal property: Principal associated with the decision record. Can be
+ * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity.
+ *
+ * @return the principal value.
+ */
+ public AccessReviewDecisionIdentity principal() {
+ return this.principal;
+ }
+
+ /**
+ * Get the innerResource property: Resource associated with this decision record.
+ *
+ * @return the innerResource value.
+ */
+ private AccessReviewDecisionResource innerResource() {
+ return this.innerResource;
+ }
+
+ /**
+ * Get the recommendation property: The feature- generated recommendation shown to the reviewer.
+ *
+ * @return the recommendation value.
+ */
+ public AccessRecommendationType recommendation() {
+ return this.recommendation;
+ }
+
+ /**
+ * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @return the decision value.
+ */
+ public AccessReviewResult decision() {
+ return this.decision;
+ }
+
+ /**
+ * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @param decision the decision value to set.
+ * @return the AccessReviewDecisionProperties object itself.
+ */
+ public AccessReviewDecisionProperties withDecision(AccessReviewResult decision) {
+ this.decision = decision;
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification provided by approvers for their action.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.justification;
+ }
+
+ /**
+ * Set the justification property: Justification provided by approvers for their action.
+ *
+ * @param justification the justification value to set.
+ * @return the AccessReviewDecisionProperties object itself.
+ */
+ public AccessReviewDecisionProperties withJustification(String justification) {
+ this.justification = justification;
+ return this;
+ }
+
+ /**
+ * Get the reviewedDateTime property: Date Time when a decision was taken.
+ *
+ * @return the reviewedDateTime value.
+ */
+ public OffsetDateTime reviewedDateTime() {
+ return this.reviewedDateTime;
+ }
+
+ /**
+ * Get the innerReviewedBy property: Details of the approver.
+ *
+ * @return the innerReviewedBy value.
+ */
+ private AccessReviewActorIdentity innerReviewedBy() {
+ return this.innerReviewedBy;
+ }
+
+ /**
+ * Get the applyResult property: The outcome of applying the decision.
+ *
+ * @return the applyResult value.
+ */
+ public AccessReviewApplyResult applyResult() {
+ return this.applyResult;
+ }
+
+ /**
+ * Get the appliedDateTime property: The date and time when the review decision was applied.
+ *
+ * @return the appliedDateTime value.
+ */
+ public OffsetDateTime appliedDateTime() {
+ return this.appliedDateTime;
+ }
+
+ /**
+ * Get the innerAppliedBy property: Details of the approver.
+ *
+ * @return the innerAppliedBy value.
+ */
+ private AccessReviewActorIdentity innerAppliedBy() {
+ return this.innerAppliedBy;
+ }
+
+ /**
+ * Get the insights property: This is the collection of insights for this decision item.
+ *
+ * @return the insights value.
+ */
+ public List insights() {
+ return this.insights;
+ }
+
+ /**
+ * Set the insights property: This is the collection of insights for this decision item.
+ *
+ * @param insights the insights value to set.
+ * @return the AccessReviewDecisionProperties object itself.
+ */
+ public AccessReviewDecisionProperties withInsights(List insights) {
+ this.insights = insights;
+ return this;
+ }
+
+ /**
+ * Get the innerPrincipalResourceMembership property: Details of the membership type.
+ *
+ * @return the innerPrincipalResourceMembership value.
+ */
+ private AccessReviewDecisionPrincipalResourceMembership innerPrincipalResourceMembership() {
+ return this.innerPrincipalResourceMembership;
+ }
+
+ /**
+ * Get the type property: The type of resource.
+ *
+ * @return the type value.
+ */
+ public DecisionResourceType type() {
+ return this.innerResource() == null ? null : this.innerResource().type();
+ }
+
+ /**
+ * Set the type property: The type of resource.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewDecisionProperties object itself.
+ */
+ public AccessReviewDecisionProperties withType(DecisionResourceType type) {
+ if (this.innerResource() == null) {
+ this.innerResource = new AccessReviewDecisionResource();
+ }
+ this.innerResource().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the id property: The id of resource associated with a decision record.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.innerResource() == null ? null : this.innerResource().id();
+ }
+
+ /**
+ * Get the displayName property: The display name of resource associated with a decision record.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerResource() == null ? null : this.innerResource().displayName();
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerReviewedBy() == null ? null : this.innerReviewedBy().userPrincipalName();
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalIdAppliedByPrincipalId() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalNameAppliedByPrincipalName() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalNameAppliedByUserPrincipalName() {
+ return this.innerAppliedBy() == null ? null : this.innerAppliedBy().userPrincipalName();
+ }
+
+ /**
+ * Get the membershipTypes property: Every decision item in an access review represents a principal's membership to
+ * a resource. This property represents details of the membership. Examples of this detail might be whether the
+ * principal has direct access or indirect access.
+ *
+ * @return the membershipTypes value.
+ */
+ public List membershipTypes() {
+ return this.innerPrincipalResourceMembership() == null
+ ? null
+ : this.innerPrincipalResourceMembership().membershipTypes();
+ }
+
+ /**
+ * Set the membershipTypes property: Every decision item in an access review represents a principal's membership to
+ * a resource. This property represents details of the membership. Examples of this detail might be whether the
+ * principal has direct access or indirect access.
+ *
+ * @param membershipTypes the membershipTypes value to set.
+ * @return the AccessReviewDecisionProperties object itself.
+ */
+ public AccessReviewDecisionProperties withMembershipTypes(
+ List membershipTypes) {
+ if (this.innerPrincipalResourceMembership() == null) {
+ this.innerPrincipalResourceMembership = new AccessReviewDecisionPrincipalResourceMembership();
+ }
+ this.innerPrincipalResourceMembership().withMembershipTypes(membershipTypes);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (principal() != null) {
+ principal().validate();
+ }
+ if (innerResource() != null) {
+ innerResource().validate();
+ }
+ if (innerReviewedBy() != null) {
+ innerReviewedBy().validate();
+ }
+ if (innerAppliedBy() != null) {
+ innerAppliedBy().validate();
+ }
+ if (insights() != null) {
+ insights().forEach(e -> e.validate());
+ }
+ if (innerPrincipalResourceMembership() != null) {
+ innerPrincipalResourceMembership().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java
new file mode 100644
index 0000000000000..97aee5e03bc73
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Target of the decision. */
+@Fluent
+public final class AccessReviewDecisionResource {
+ /*
+ * The type of resource
+ */
+ @JsonProperty(value = "type", required = true)
+ private DecisionResourceType type;
+
+ /*
+ * The id of resource associated with a decision record.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The display name of resource associated with a decision record.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /** Creates an instance of AccessReviewDecisionResource class. */
+ public AccessReviewDecisionResource() {
+ }
+
+ /**
+ * Get the type property: The type of resource.
+ *
+ * @return the type value.
+ */
+ public DecisionResourceType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The type of resource.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewDecisionResource object itself.
+ */
+ public AccessReviewDecisionResource withType(DecisionResourceType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the id property: The id of resource associated with a decision record.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the displayName property: The display name of resource associated with a decision record.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (type() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property type in model AccessReviewDecisionResource"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewDecisionResource.class);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java
new file mode 100644
index 0000000000000..5e6d5de8ff82f
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java
@@ -0,0 +1,427 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+
+/** Access Review Default Settings. */
+@Fluent
+public final class AccessReviewDefaultSettingsInner extends ProxyResource {
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewScheduleSettings innerProperties;
+
+ /** Creates an instance of AccessReviewDefaultSettingsInner class. */
+ public AccessReviewDefaultSettingsInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewScheduleSettings innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @return the mailNotificationsEnabled value.
+ */
+ public Boolean mailNotificationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled();
+ }
+
+ /**
+ * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @param mailNotificationsEnabled the mailNotificationsEnabled value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @return the reminderNotificationsEnabled value.
+ */
+ public Boolean reminderNotificationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled();
+ }
+
+ /**
+ * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @return the defaultDecisionEnabled value.
+ */
+ public Boolean defaultDecisionEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled();
+ }
+
+ /**
+ * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @param defaultDecisionEnabled the defaultDecisionEnabled value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled);
+ return this;
+ }
+
+ /**
+ * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @return the justificationRequiredOnApproval value.
+ */
+ public Boolean justificationRequiredOnApproval() {
+ return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval();
+ }
+
+ /**
+ * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withJustificationRequiredOnApproval(
+ Boolean justificationRequiredOnApproval) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @return the defaultDecision value.
+ */
+ public DefaultDecisionType defaultDecision() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultDecision();
+ }
+
+ /**
+ * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @param defaultDecision the defaultDecision value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withDefaultDecision(DefaultDecisionType defaultDecision) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withDefaultDecision(defaultDecision);
+ return this;
+ }
+
+ /**
+ * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @return the autoApplyDecisionsEnabled value.
+ */
+ public Boolean autoApplyDecisionsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled();
+ }
+
+ /**
+ * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @return the recommendationsEnabled value.
+ */
+ public Boolean recommendationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled();
+ }
+
+ /**
+ * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @param recommendationsEnabled the recommendationsEnabled value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withRecommendationsEnabled(Boolean recommendationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withRecommendationsEnabled(recommendationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the recommendationLookBackDuration value.
+ */
+ public Duration recommendationLookBackDuration() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendationLookBackDuration();
+ }
+
+ /**
+ * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param recommendationLookBackDuration the recommendationLookBackDuration value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withRecommendationLookBackDuration(
+ Duration recommendationLookBackDuration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withRecommendationLookBackDuration(recommendationLookBackDuration);
+ return this;
+ }
+
+ /**
+ * Get the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @return the instanceDurationInDays value.
+ */
+ public Integer instanceDurationInDays() {
+ return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays();
+ }
+
+ /**
+ * Set the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @param instanceDurationInDays the instanceDurationInDays value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withInstanceDurationInDays(Integer instanceDurationInDays) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withInstanceDurationInDays(instanceDurationInDays);
+ return this;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withTypePropertiesType(AccessReviewRecurrencePatternType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerProperties() == null ? null : this.innerProperties().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withInterval(Integer interval) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerProperties() == null ? null : this.innerProperties().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withStartDate(OffsetDateTime startDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewDefaultSettingsInner object itself.
+ */
+ public AccessReviewDefaultSettingsInner withEndDate(OffsetDateTime endDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleSettings();
+ }
+ this.innerProperties().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java
new file mode 100644
index 0000000000000..e1e35ff9528e1
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java
@@ -0,0 +1,365 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review History Definition. */
+@Fluent
+public final class AccessReviewHistoryDefinitionInner extends ProxyResource {
+ /*
+ * Access Review History Definition properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewHistoryDefinitionProperties innerProperties;
+
+ /** Creates an instance of AccessReviewHistoryDefinitionInner class. */
+ public AccessReviewHistoryDefinitionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review History Definition properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewHistoryDefinitionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the displayName property: The display name for the history definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The display name for the history definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodStartDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodStartDateTime();
+ }
+
+ /**
+ * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodEndDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodEndDateTime();
+ }
+
+ /**
+ * Get the decisions property: Collection of review decisions which the history data should be filtered on. For
+ * example if Approve and Deny are supplied the data will only contain review results in which the decision maker
+ * approved or denied a review request.
+ *
+ * @return the decisions value.
+ */
+ public List decisions() {
+ return this.innerProperties() == null ? null : this.innerProperties().decisions();
+ }
+
+ /**
+ * Set the decisions property: Collection of review decisions which the history data should be filtered on. For
+ * example if Approve and Deny are supplied the data will only contain review results in which the decision maker
+ * approved or denied a review request.
+ *
+ * @param decisions the decisions value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withDecisions(List decisions) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withDecisions(decisions);
+ return this;
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the of the requested review history data. This is either
+ * requested, in-progress, done or error.
+ *
+ * @return the status value.
+ */
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the createdDateTime property: Date time when history definition was created.
+ *
+ * @return the createdDateTime value.
+ */
+ public OffsetDateTime createdDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdDateTime();
+ }
+
+ /**
+ * Get the scopes property: A collection of scopes used when selecting review history data.
+ *
+ * @return the scopes value.
+ */
+ public List scopes() {
+ return this.innerProperties() == null ? null : this.innerProperties().scopes();
+ }
+
+ /**
+ * Set the scopes property: A collection of scopes used when selecting review history data.
+ *
+ * @param scopes the scopes value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withScopes(List scopes) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withScopes(scopes);
+ return this;
+ }
+
+ /**
+ * Get the instances property: Set of access review history instances for this history definition.
+ *
+ * @return the instances value.
+ */
+ public List instances() {
+ return this.innerProperties() == null ? null : this.innerProperties().instances();
+ }
+
+ /**
+ * Set the instances property: Set of access review history instances for this history definition.
+ *
+ * @param instances the instances value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withInstances(List instances) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withInstances(instances);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName();
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withTypePropertiesType(AccessReviewRecurrencePatternType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerProperties() == null ? null : this.innerProperties().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withInterval(Integer interval) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerProperties() == null ? null : this.innerProperties().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withStartDate(OffsetDateTime startDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewHistoryDefinitionInner object itself.
+ */
+ public AccessReviewHistoryDefinitionInner withEndDate(OffsetDateTime endDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+ this.innerProperties().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java
new file mode 100644
index 0000000000000..427cfe949b7c2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionProperties.java
@@ -0,0 +1,429 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review History Instances. */
+@Fluent
+public final class AccessReviewHistoryDefinitionProperties {
+ /*
+ * The display name for the history definition.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * Date time used when selecting review data, all reviews included in data start on or after this date. For use
+ * only with one-time/non-recurring reports.
+ */
+ @JsonProperty(value = "reviewHistoryPeriodStartDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime reviewHistoryPeriodStartDateTime;
+
+ /*
+ * Date time used when selecting review data, all reviews included in data end on or before this date. For use only
+ * with one-time/non-recurring reports.
+ */
+ @JsonProperty(value = "reviewHistoryPeriodEndDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime reviewHistoryPeriodEndDateTime;
+
+ /*
+ * Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are
+ * supplied the data will only contain review results in which the decision maker approved or denied a review
+ * request.
+ */
+ @JsonProperty(value = "decisions")
+ private List decisions;
+
+ /*
+ * This read-only field specifies the of the requested review history data. This is either requested, in-progress,
+ * done or error.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewHistoryDefinitionStatus status;
+
+ /*
+ * Date time when history definition was created
+ */
+ @JsonProperty(value = "createdDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime createdDateTime;
+
+ /*
+ * The user or other identity who created this history definition.
+ */
+ @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentity innerCreatedBy;
+
+ /*
+ * A collection of scopes used when selecting review history data
+ */
+ @JsonProperty(value = "scopes")
+ private List scopes;
+
+ /*
+ * Recurrence settings for recurring history reports, skip for one-time reports.
+ */
+ @JsonProperty(value = "settings")
+ private AccessReviewHistoryScheduleSettings innerSettings;
+
+ /*
+ * Set of access review history instances for this history definition.
+ */
+ @JsonProperty(value = "instances")
+ private List instances;
+
+ /** Creates an instance of AccessReviewHistoryDefinitionProperties class. */
+ public AccessReviewHistoryDefinitionProperties() {
+ }
+
+ /**
+ * Get the displayName property: The display name for the history definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name for the history definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodStartDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.reviewHistoryPeriodStartDateTime;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodEndDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.reviewHistoryPeriodEndDateTime;
+ }
+
+ /**
+ * Get the decisions property: Collection of review decisions which the history data should be filtered on. For
+ * example if Approve and Deny are supplied the data will only contain review results in which the decision maker
+ * approved or denied a review request.
+ *
+ * @return the decisions value.
+ */
+ public List decisions() {
+ return this.decisions;
+ }
+
+ /**
+ * Set the decisions property: Collection of review decisions which the history data should be filtered on. For
+ * example if Approve and Deny are supplied the data will only contain review results in which the decision maker
+ * approved or denied a review request.
+ *
+ * @param decisions the decisions value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withDecisions(List decisions) {
+ this.decisions = decisions;
+ return this;
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the of the requested review history data. This is either
+ * requested, in-progress, done or error.
+ *
+ * @return the status value.
+ */
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the createdDateTime property: Date time when history definition was created.
+ *
+ * @return the createdDateTime value.
+ */
+ public OffsetDateTime createdDateTime() {
+ return this.createdDateTime;
+ }
+
+ /**
+ * Get the innerCreatedBy property: The user or other identity who created this history definition.
+ *
+ * @return the innerCreatedBy value.
+ */
+ private AccessReviewActorIdentity innerCreatedBy() {
+ return this.innerCreatedBy;
+ }
+
+ /**
+ * Get the scopes property: A collection of scopes used when selecting review history data.
+ *
+ * @return the scopes value.
+ */
+ public List scopes() {
+ return this.scopes;
+ }
+
+ /**
+ * Set the scopes property: A collection of scopes used when selecting review history data.
+ *
+ * @param scopes the scopes value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withScopes(List scopes) {
+ this.scopes = scopes;
+ return this;
+ }
+
+ /**
+ * Get the innerSettings property: Recurrence settings for recurring history reports, skip for one-time reports.
+ *
+ * @return the innerSettings value.
+ */
+ private AccessReviewHistoryScheduleSettings innerSettings() {
+ return this.innerSettings;
+ }
+
+ /**
+ * Get the instances property: Set of access review history instances for this history definition.
+ *
+ * @return the instances value.
+ */
+ public List instances() {
+ return this.instances;
+ }
+
+ /**
+ * Set the instances property: Set of access review history instances for this history definition.
+ *
+ * @param instances the instances value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withInstances(List instances) {
+ this.instances = instances;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().userPrincipalName();
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.innerSettings() == null ? null : this.innerSettings().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withType(AccessReviewRecurrencePatternType type) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerSettings() == null ? null : this.innerSettings().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withInterval(Integer interval) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerSettings() == null ? null : this.innerSettings().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerSettings() == null ? null : this.innerSettings().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerSettings() == null ? null : this.innerSettings().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withStartDate(OffsetDateTime startDate) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerSettings() == null ? null : this.innerSettings().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewHistoryDefinitionProperties object itself.
+ */
+ public AccessReviewHistoryDefinitionProperties withEndDate(OffsetDateTime endDate) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewHistoryScheduleSettings();
+ }
+ this.innerSettings().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerCreatedBy() != null) {
+ innerCreatedBy().validate();
+ }
+ if (scopes() != null) {
+ scopes().forEach(e -> e.validate());
+ }
+ if (innerSettings() != null) {
+ innerSettings().validate();
+ }
+ if (instances() != null) {
+ instances().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java
new file mode 100644
index 0000000000000..f8a2a8d2760d6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java
@@ -0,0 +1,211 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review History Definition Instance. */
+@Fluent
+public final class AccessReviewHistoryInstanceInner extends ProxyResource {
+ /*
+ * Access Review History Definition Instance properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewHistoryInstanceProperties innerProperties;
+
+ /** Creates an instance of AccessReviewHistoryInstanceInner class. */
+ public AccessReviewHistoryInstanceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review History Definition Instance properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewHistoryInstanceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodStartDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodStartDateTime();
+ }
+
+ /**
+ * Set the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @param reviewHistoryPeriodStartDateTime the reviewHistoryPeriodStartDateTime value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withReviewHistoryPeriodStartDateTime(
+ OffsetDateTime reviewHistoryPeriodStartDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withReviewHistoryPeriodStartDateTime(reviewHistoryPeriodStartDateTime);
+ return this;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodEndDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewHistoryPeriodEndDateTime();
+ }
+
+ /**
+ * Set the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @param reviewHistoryPeriodEndDateTime the reviewHistoryPeriodEndDateTime value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withReviewHistoryPeriodEndDateTime(
+ OffsetDateTime reviewHistoryPeriodEndDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withReviewHistoryPeriodEndDateTime(reviewHistoryPeriodEndDateTime);
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name for the parent history definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The display name for the parent history definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the requested review history instance data. This is either requested,
+ * in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done ->
+ * Expired.
+ *
+ * @return the status value.
+ */
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the runDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @return the runDateTime value.
+ */
+ public OffsetDateTime runDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().runDateTime();
+ }
+
+ /**
+ * Set the runDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @param runDateTime the runDateTime value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withRunDateTime(OffsetDateTime runDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withRunDateTime(runDateTime);
+ return this;
+ }
+
+ /**
+ * Get the fulfilledDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @return the fulfilledDateTime value.
+ */
+ public OffsetDateTime fulfilledDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().fulfilledDateTime();
+ }
+
+ /**
+ * Set the fulfilledDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @param fulfilledDateTime the fulfilledDateTime value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withFulfilledDateTime(OffsetDateTime fulfilledDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withFulfilledDateTime(fulfilledDateTime);
+ return this;
+ }
+
+ /**
+ * Get the downloadUri property: Uri which can be used to retrieve review history data. To generate this Uri,
+ * generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after
+ * a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri.
+ *
+ * @return the downloadUri value.
+ */
+ public String downloadUri() {
+ return this.innerProperties() == null ? null : this.innerProperties().downloadUri();
+ }
+
+ /**
+ * Get the expiration property: Date time when history data report expires and the associated data is deleted.
+ *
+ * @return the expiration value.
+ */
+ public OffsetDateTime expiration() {
+ return this.innerProperties() == null ? null : this.innerProperties().expiration();
+ }
+
+ /**
+ * Set the expiration property: Date time when history data report expires and the associated data is deleted.
+ *
+ * @param expiration the expiration value to set.
+ * @return the AccessReviewHistoryInstanceInner object itself.
+ */
+ public AccessReviewHistoryInstanceInner withExpiration(OffsetDateTime expiration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewHistoryInstanceProperties();
+ }
+ this.innerProperties().withExpiration(expiration);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java
new file mode 100644
index 0000000000000..9200e251523c9
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.java
@@ -0,0 +1,227 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review History Definition Instance properties. */
+@Fluent
+public final class AccessReviewHistoryInstanceProperties {
+ /*
+ * Date time used when selecting review data, all reviews included in data start on or after this date. For use
+ * only with one-time/non-recurring reports.
+ */
+ @JsonProperty(value = "reviewHistoryPeriodStartDateTime")
+ private OffsetDateTime reviewHistoryPeriodStartDateTime;
+
+ /*
+ * Date time used when selecting review data, all reviews included in data end on or before this date. For use only
+ * with one-time/non-recurring reports.
+ */
+ @JsonProperty(value = "reviewHistoryPeriodEndDateTime")
+ private OffsetDateTime reviewHistoryPeriodEndDateTime;
+
+ /*
+ * The display name for the parent history definition.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * Status of the requested review history instance data. This is either requested, in-progress, done or error. The
+ * state transitions are as follows - Requested -> InProgress -> Done -> Expired
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewHistoryDefinitionStatus status;
+
+ /*
+ * Date time when the history data report is scheduled to be generated.
+ */
+ @JsonProperty(value = "runDateTime")
+ private OffsetDateTime runDateTime;
+
+ /*
+ * Date time when the history data report is scheduled to be generated.
+ */
+ @JsonProperty(value = "fulfilledDateTime")
+ private OffsetDateTime fulfilledDateTime;
+
+ /*
+ * Uri which can be used to retrieve review history data. To generate this Uri, generateDownloadUri() must be
+ * called for a specific accessReviewHistoryDefinitionInstance. The link expires after a 24 hour period. Callers
+ * can see the expiration date time by looking at the 'se' parameter in the generated uri.
+ */
+ @JsonProperty(value = "downloadUri", access = JsonProperty.Access.WRITE_ONLY)
+ private String downloadUri;
+
+ /*
+ * Date time when history data report expires and the associated data is deleted.
+ */
+ @JsonProperty(value = "expiration")
+ private OffsetDateTime expiration;
+
+ /** Creates an instance of AccessReviewHistoryInstanceProperties class. */
+ public AccessReviewHistoryInstanceProperties() {
+ }
+
+ /**
+ * Get the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodStartDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.reviewHistoryPeriodStartDateTime;
+ }
+
+ /**
+ * Set the reviewHistoryPeriodStartDateTime property: Date time used when selecting review data, all reviews
+ * included in data start on or after this date. For use only with one-time/non-recurring reports.
+ *
+ * @param reviewHistoryPeriodStartDateTime the reviewHistoryPeriodStartDateTime value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withReviewHistoryPeriodStartDateTime(
+ OffsetDateTime reviewHistoryPeriodStartDateTime) {
+ this.reviewHistoryPeriodStartDateTime = reviewHistoryPeriodStartDateTime;
+ return this;
+ }
+
+ /**
+ * Get the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @return the reviewHistoryPeriodEndDateTime value.
+ */
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.reviewHistoryPeriodEndDateTime;
+ }
+
+ /**
+ * Set the reviewHistoryPeriodEndDateTime property: Date time used when selecting review data, all reviews included
+ * in data end on or before this date. For use only with one-time/non-recurring reports.
+ *
+ * @param reviewHistoryPeriodEndDateTime the reviewHistoryPeriodEndDateTime value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withReviewHistoryPeriodEndDateTime(
+ OffsetDateTime reviewHistoryPeriodEndDateTime) {
+ this.reviewHistoryPeriodEndDateTime = reviewHistoryPeriodEndDateTime;
+ return this;
+ }
+
+ /**
+ * Get the displayName property: The display name for the parent history definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name for the parent history definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the requested review history instance data. This is either requested,
+ * in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done ->
+ * Expired.
+ *
+ * @return the status value.
+ */
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the runDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @return the runDateTime value.
+ */
+ public OffsetDateTime runDateTime() {
+ return this.runDateTime;
+ }
+
+ /**
+ * Set the runDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @param runDateTime the runDateTime value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withRunDateTime(OffsetDateTime runDateTime) {
+ this.runDateTime = runDateTime;
+ return this;
+ }
+
+ /**
+ * Get the fulfilledDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @return the fulfilledDateTime value.
+ */
+ public OffsetDateTime fulfilledDateTime() {
+ return this.fulfilledDateTime;
+ }
+
+ /**
+ * Set the fulfilledDateTime property: Date time when the history data report is scheduled to be generated.
+ *
+ * @param fulfilledDateTime the fulfilledDateTime value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withFulfilledDateTime(OffsetDateTime fulfilledDateTime) {
+ this.fulfilledDateTime = fulfilledDateTime;
+ return this;
+ }
+
+ /**
+ * Get the downloadUri property: Uri which can be used to retrieve review history data. To generate this Uri,
+ * generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after
+ * a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri.
+ *
+ * @return the downloadUri value.
+ */
+ public String downloadUri() {
+ return this.downloadUri;
+ }
+
+ /**
+ * Get the expiration property: Date time when history data report expires and the associated data is deleted.
+ *
+ * @return the expiration value.
+ */
+ public OffsetDateTime expiration() {
+ return this.expiration;
+ }
+
+ /**
+ * Set the expiration property: Date time when history data report expires and the associated data is deleted.
+ *
+ * @param expiration the expiration value to set.
+ * @return the AccessReviewHistoryInstanceProperties object itself.
+ */
+ public AccessReviewHistoryInstanceProperties withExpiration(OffsetDateTime expiration) {
+ this.expiration = expiration;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java
new file mode 100644
index 0000000000000..268179e58016d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Recurrence settings of an Access Review History Definition. */
+@Fluent
+public final class AccessReviewHistoryScheduleSettings {
+ /*
+ * Access Review History Definition recurrence settings.
+ */
+ @JsonProperty(value = "pattern")
+ private AccessReviewRecurrencePattern innerPattern;
+
+ /*
+ * Access Review History Definition recurrence settings.
+ */
+ @JsonProperty(value = "range")
+ private AccessReviewRecurrenceRange innerRange;
+
+ /** Creates an instance of AccessReviewHistoryScheduleSettings class. */
+ public AccessReviewHistoryScheduleSettings() {
+ }
+
+ /**
+ * Get the innerPattern property: Access Review History Definition recurrence settings.
+ *
+ * @return the innerPattern value.
+ */
+ private AccessReviewRecurrencePattern innerPattern() {
+ return this.innerPattern;
+ }
+
+ /**
+ * Get the innerRange property: Access Review History Definition recurrence settings.
+ *
+ * @return the innerRange value.
+ */
+ private AccessReviewRecurrenceRange innerRange() {
+ return this.innerRange;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.innerPattern() == null ? null : this.innerPattern().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withType(AccessReviewRecurrencePatternType type) {
+ if (this.innerPattern() == null) {
+ this.innerPattern = new AccessReviewRecurrencePattern();
+ }
+ this.innerPattern().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerPattern() == null ? null : this.innerPattern().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withInterval(Integer interval) {
+ if (this.innerPattern() == null) {
+ this.innerPattern = new AccessReviewRecurrencePattern();
+ }
+ this.innerPattern().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerRange() == null ? null : this.innerRange().type();
+ }
+
+ /**
+ * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withTypeRangeType(AccessReviewRecurrenceRangeType type) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerRange() == null ? null : this.innerRange().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerRange() == null ? null : this.innerRange().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withStartDate(OffsetDateTime startDate) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerRange() == null ? null : this.innerRange().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewHistoryScheduleSettings object itself.
+ */
+ public AccessReviewHistoryScheduleSettings withEndDate(OffsetDateTime endDate) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerPattern() != null) {
+ innerPattern().validate();
+ }
+ if (innerRange() != null) {
+ innerRange().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java
new file mode 100644
index 0000000000000..f7334b3e92950
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review Instance. */
+@Fluent
+public final class AccessReviewInstanceInner extends ProxyResource {
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewInstanceProperties innerProperties;
+
+ /** Creates an instance of AccessReviewInstanceInner class. */
+ public AccessReviewInstanceInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewInstanceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the status of an access review instance.
+ *
+ * @return the status value.
+ */
+ public AccessReviewInstanceStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the startDateTime property: The DateTime when the review instance is scheduled to be start.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDateTime();
+ }
+
+ /**
+ * Set the startDateTime property: The DateTime when the review instance is scheduled to be start.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the AccessReviewInstanceInner object itself.
+ */
+ public AccessReviewInstanceInner withStartDateTime(OffsetDateTime startDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewInstanceProperties();
+ }
+ this.innerProperties().withStartDateTime(startDateTime);
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The DateTime when the review instance is scheduled to end.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDateTime();
+ }
+
+ /**
+ * Set the endDateTime property: The DateTime when the review instance is scheduled to end.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the AccessReviewInstanceInner object itself.
+ */
+ public AccessReviewInstanceInner withEndDateTime(OffsetDateTime endDateTime) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewInstanceProperties();
+ }
+ this.innerProperties().withEndDateTime(endDateTime);
+ return this;
+ }
+
+ /**
+ * Get the reviewers property: This is the collection of reviewers.
+ *
+ * @return the reviewers value.
+ */
+ public List reviewers() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewers();
+ }
+
+ /**
+ * Set the reviewers property: This is the collection of reviewers.
+ *
+ * @param reviewers the reviewers value to set.
+ * @return the AccessReviewInstanceInner object itself.
+ */
+ public AccessReviewInstanceInner withReviewers(List reviewers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewInstanceProperties();
+ }
+ this.innerProperties().withReviewers(reviewers);
+ return this;
+ }
+
+ /**
+ * Get the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @return the backupReviewers value.
+ */
+ public List backupReviewers() {
+ return this.innerProperties() == null ? null : this.innerProperties().backupReviewers();
+ }
+
+ /**
+ * Set the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @param backupReviewers the backupReviewers value to set.
+ * @return the AccessReviewInstanceInner object itself.
+ */
+ public AccessReviewInstanceInner withBackupReviewers(List backupReviewers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewInstanceProperties();
+ }
+ this.innerProperties().withBackupReviewers(backupReviewers);
+ return this;
+ }
+
+ /**
+ * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review,
+ * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be
+ * chosen dynamically. For example managers review or self review.
+ *
+ * @return the reviewersType value.
+ */
+ public AccessReviewInstanceReviewersType reviewersType() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewersType();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java
new file mode 100644
index 0000000000000..b94bbdbae0867
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java
@@ -0,0 +1,173 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review Instance properties. */
+@Fluent
+public final class AccessReviewInstanceProperties {
+ /*
+ * This read-only field specifies the status of an access review instance.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewInstanceStatus status;
+
+ /*
+ * The DateTime when the review instance is scheduled to be start.
+ */
+ @JsonProperty(value = "startDateTime")
+ private OffsetDateTime startDateTime;
+
+ /*
+ * The DateTime when the review instance is scheduled to end.
+ */
+ @JsonProperty(value = "endDateTime")
+ private OffsetDateTime endDateTime;
+
+ /*
+ * This is the collection of reviewers.
+ */
+ @JsonProperty(value = "reviewers")
+ private List reviewers;
+
+ /*
+ * This is the collection of backup reviewers.
+ */
+ @JsonProperty(value = "backupReviewers")
+ private List backupReviewers;
+
+ /*
+ * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly
+ * assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For
+ * example managers review or self review.
+ */
+ @JsonProperty(value = "reviewersType", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewInstanceReviewersType reviewersType;
+
+ /** Creates an instance of AccessReviewInstanceProperties class. */
+ public AccessReviewInstanceProperties() {
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the status of an access review instance.
+ *
+ * @return the status value.
+ */
+ public AccessReviewInstanceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the startDateTime property: The DateTime when the review instance is scheduled to be start.
+ *
+ * @return the startDateTime value.
+ */
+ public OffsetDateTime startDateTime() {
+ return this.startDateTime;
+ }
+
+ /**
+ * Set the startDateTime property: The DateTime when the review instance is scheduled to be start.
+ *
+ * @param startDateTime the startDateTime value to set.
+ * @return the AccessReviewInstanceProperties object itself.
+ */
+ public AccessReviewInstanceProperties withStartDateTime(OffsetDateTime startDateTime) {
+ this.startDateTime = startDateTime;
+ return this;
+ }
+
+ /**
+ * Get the endDateTime property: The DateTime when the review instance is scheduled to end.
+ *
+ * @return the endDateTime value.
+ */
+ public OffsetDateTime endDateTime() {
+ return this.endDateTime;
+ }
+
+ /**
+ * Set the endDateTime property: The DateTime when the review instance is scheduled to end.
+ *
+ * @param endDateTime the endDateTime value to set.
+ * @return the AccessReviewInstanceProperties object itself.
+ */
+ public AccessReviewInstanceProperties withEndDateTime(OffsetDateTime endDateTime) {
+ this.endDateTime = endDateTime;
+ return this;
+ }
+
+ /**
+ * Get the reviewers property: This is the collection of reviewers.
+ *
+ * @return the reviewers value.
+ */
+ public List reviewers() {
+ return this.reviewers;
+ }
+
+ /**
+ * Set the reviewers property: This is the collection of reviewers.
+ *
+ * @param reviewers the reviewers value to set.
+ * @return the AccessReviewInstanceProperties object itself.
+ */
+ public AccessReviewInstanceProperties withReviewers(List reviewers) {
+ this.reviewers = reviewers;
+ return this;
+ }
+
+ /**
+ * Get the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @return the backupReviewers value.
+ */
+ public List backupReviewers() {
+ return this.backupReviewers;
+ }
+
+ /**
+ * Set the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @param backupReviewers the backupReviewers value to set.
+ * @return the AccessReviewInstanceProperties object itself.
+ */
+ public AccessReviewInstanceProperties withBackupReviewers(List backupReviewers) {
+ this.backupReviewers = backupReviewers;
+ return this;
+ }
+
+ /**
+ * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review,
+ * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be
+ * chosen dynamically. For example managers review or self review.
+ *
+ * @return the reviewersType value.
+ */
+ public AccessReviewInstanceReviewersType reviewersType() {
+ return this.reviewersType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (reviewers() != null) {
+ reviewers().forEach(e -> e.validate());
+ }
+ if (backupReviewers() != null) {
+ backupReviewers().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java
new file mode 100644
index 0000000000000..6d477c8dd2274
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Recurrence Pattern of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrencePattern {
+ /*
+ * The recurrence type : weekly, monthly, etc.
+ */
+ @JsonProperty(value = "type")
+ private AccessReviewRecurrencePatternType type;
+
+ /*
+ * The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly.
+ */
+ @JsonProperty(value = "interval")
+ private Integer interval;
+
+ /** Creates an instance of AccessReviewRecurrencePattern class. */
+ public AccessReviewRecurrencePattern() {
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewRecurrencePattern object itself.
+ */
+ public AccessReviewRecurrencePattern withType(AccessReviewRecurrencePatternType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.interval;
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewRecurrencePattern object itself.
+ */
+ public AccessReviewRecurrencePattern withInterval(Integer interval) {
+ this.interval = interval;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java
new file mode 100644
index 0000000000000..d26c3d1b2184b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java
@@ -0,0 +1,134 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Recurrence Range of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrenceRange {
+ /*
+ * The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ */
+ @JsonProperty(value = "type")
+ private AccessReviewRecurrenceRangeType type;
+
+ /*
+ * The number of times to repeat the access review. Required and must be positive if type is numbered.
+ */
+ @JsonProperty(value = "numberOfOccurrences")
+ private Integer numberOfOccurrences;
+
+ /*
+ * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.
+ */
+ @JsonProperty(value = "startDate")
+ private OffsetDateTime startDate;
+
+ /*
+ * The DateTime when the review is scheduled to end. Required if type is endDate
+ */
+ @JsonProperty(value = "endDate")
+ private OffsetDateTime endDate;
+
+ /** Creates an instance of AccessReviewRecurrenceRange class. */
+ public AccessReviewRecurrenceRange() {
+ }
+
+ /**
+ * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrenceRangeType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewRecurrenceRange object itself.
+ */
+ public AccessReviewRecurrenceRange withType(AccessReviewRecurrenceRangeType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.numberOfOccurrences;
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewRecurrenceRange object itself.
+ */
+ public AccessReviewRecurrenceRange withNumberOfOccurrences(Integer numberOfOccurrences) {
+ this.numberOfOccurrences = numberOfOccurrences;
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.startDate;
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewRecurrenceRange object itself.
+ */
+ public AccessReviewRecurrenceRange withStartDate(OffsetDateTime startDate) {
+ this.startDate = startDate;
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.endDate;
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewRecurrenceRange object itself.
+ */
+ public AccessReviewRecurrenceRange withEndDate(OffsetDateTime endDate) {
+ this.endDate = endDate;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java
new file mode 100644
index 0000000000000..8e600c94188db
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Recurrence Settings of an Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewRecurrenceSettings {
+ /*
+ * Access Review schedule definition recurrence pattern.
+ */
+ @JsonProperty(value = "pattern")
+ private AccessReviewRecurrencePattern innerPattern;
+
+ /*
+ * Access Review schedule definition recurrence range.
+ */
+ @JsonProperty(value = "range")
+ private AccessReviewRecurrenceRange innerRange;
+
+ /** Creates an instance of AccessReviewRecurrenceSettings class. */
+ public AccessReviewRecurrenceSettings() {
+ }
+
+ /**
+ * Get the innerPattern property: Access Review schedule definition recurrence pattern.
+ *
+ * @return the innerPattern value.
+ */
+ private AccessReviewRecurrencePattern innerPattern() {
+ return this.innerPattern;
+ }
+
+ /**
+ * Get the innerRange property: Access Review schedule definition recurrence range.
+ *
+ * @return the innerRange value.
+ */
+ private AccessReviewRecurrenceRange innerRange() {
+ return this.innerRange;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.innerPattern() == null ? null : this.innerPattern().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withType(AccessReviewRecurrencePatternType type) {
+ if (this.innerPattern() == null) {
+ this.innerPattern = new AccessReviewRecurrencePattern();
+ }
+ this.innerPattern().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerPattern() == null ? null : this.innerPattern().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withInterval(Integer interval) {
+ if (this.innerPattern() == null) {
+ this.innerPattern = new AccessReviewRecurrencePattern();
+ }
+ this.innerPattern().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerRange() == null ? null : this.innerRange().type();
+ }
+
+ /**
+ * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withTypeRangeType(AccessReviewRecurrenceRangeType type) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerRange() == null ? null : this.innerRange().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerRange() == null ? null : this.innerRange().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withStartDate(OffsetDateTime startDate) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerRange() == null ? null : this.innerRange().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewRecurrenceSettings object itself.
+ */
+ public AccessReviewRecurrenceSettings withEndDate(OffsetDateTime endDate) {
+ if (this.innerRange() == null) {
+ this.innerRange = new AccessReviewRecurrenceRange();
+ }
+ this.innerRange().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerPattern() != null) {
+ innerPattern().validate();
+ }
+ if (innerRange() != null) {
+ innerRange().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java
new file mode 100644
index 0000000000000..9ee9372d8eb28
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java
@@ -0,0 +1,724 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review Schedule Definition. */
+@Fluent
+public final class AccessReviewScheduleDefinitionInner extends ProxyResource {
+ /*
+ * Access Review properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewScheduleDefinitionProperties innerProperties;
+
+ /** Creates an instance of AccessReviewScheduleDefinitionInner class. */
+ public AccessReviewScheduleDefinitionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Access Review properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewScheduleDefinitionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the displayName property: The display name for the schedule definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Set the displayName property: The display name for the schedule definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withDisplayName(String displayName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withDisplayName(displayName);
+ return this;
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the status of an accessReview.
+ *
+ * @return the status value.
+ */
+ public AccessReviewScheduleDefinitionStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the descriptionForAdmins property: The description provided by the access review creator and visible to
+ * admins.
+ *
+ * @return the descriptionForAdmins value.
+ */
+ public String descriptionForAdmins() {
+ return this.innerProperties() == null ? null : this.innerProperties().descriptionForAdmins();
+ }
+
+ /**
+ * Set the descriptionForAdmins property: The description provided by the access review creator and visible to
+ * admins.
+ *
+ * @param descriptionForAdmins the descriptionForAdmins value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withDescriptionForAdmins(String descriptionForAdmins) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withDescriptionForAdmins(descriptionForAdmins);
+ return this;
+ }
+
+ /**
+ * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to
+ * reviewers.
+ *
+ * @return the descriptionForReviewers value.
+ */
+ public String descriptionForReviewers() {
+ return this.innerProperties() == null ? null : this.innerProperties().descriptionForReviewers();
+ }
+
+ /**
+ * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to
+ * reviewers.
+ *
+ * @param descriptionForReviewers the descriptionForReviewers value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withDescriptionForReviewers(String descriptionForReviewers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withDescriptionForReviewers(descriptionForReviewers);
+ return this;
+ }
+
+ /**
+ * Get the reviewers property: This is the collection of reviewers.
+ *
+ * @return the reviewers value.
+ */
+ public List reviewers() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewers();
+ }
+
+ /**
+ * Set the reviewers property: This is the collection of reviewers.
+ *
+ * @param reviewers the reviewers value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withReviewers(List reviewers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withReviewers(reviewers);
+ return this;
+ }
+
+ /**
+ * Get the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @return the backupReviewers value.
+ */
+ public List backupReviewers() {
+ return this.innerProperties() == null ? null : this.innerProperties().backupReviewers();
+ }
+
+ /**
+ * Set the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @param backupReviewers the backupReviewers value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withBackupReviewers(List backupReviewers) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withBackupReviewers(backupReviewers);
+ return this;
+ }
+
+ /**
+ * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review,
+ * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be
+ * chosen dynamically. For example managers review or self review.
+ *
+ * @return the reviewersType value.
+ */
+ public AccessReviewScheduleDefinitionReviewersType reviewersType() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewersType();
+ }
+
+ /**
+ * Get the instances property: This is the collection of instances returned when one does an expand on it.
+ *
+ * @return the instances value.
+ */
+ public List instances() {
+ return this.innerProperties() == null ? null : this.innerProperties().instances();
+ }
+
+ /**
+ * Set the instances property: This is the collection of instances returned when one does an expand on it.
+ *
+ * @param instances the instances value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withInstances(List instances) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withInstances(instances);
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName();
+ }
+
+ /**
+ * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @return the mailNotificationsEnabled value.
+ */
+ public Boolean mailNotificationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled();
+ }
+
+ /**
+ * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @param mailNotificationsEnabled the mailNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @return the reminderNotificationsEnabled value.
+ */
+ public Boolean reminderNotificationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled();
+ }
+
+ /**
+ * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @return the defaultDecisionEnabled value.
+ */
+ public Boolean defaultDecisionEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled();
+ }
+
+ /**
+ * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @param defaultDecisionEnabled the defaultDecisionEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled);
+ return this;
+ }
+
+ /**
+ * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @return the justificationRequiredOnApproval value.
+ */
+ public Boolean justificationRequiredOnApproval() {
+ return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval();
+ }
+
+ /**
+ * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withJustificationRequiredOnApproval(
+ Boolean justificationRequiredOnApproval) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @return the defaultDecision value.
+ */
+ public DefaultDecisionType defaultDecision() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultDecision();
+ }
+
+ /**
+ * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @param defaultDecision the defaultDecision value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withDefaultDecision(DefaultDecisionType defaultDecision) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withDefaultDecision(defaultDecision);
+ return this;
+ }
+
+ /**
+ * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @return the autoApplyDecisionsEnabled value.
+ */
+ public Boolean autoApplyDecisionsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled();
+ }
+
+ /**
+ * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @return the recommendationsEnabled value.
+ */
+ public Boolean recommendationsEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled();
+ }
+
+ /**
+ * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @param recommendationsEnabled the recommendationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withRecommendationsEnabled(Boolean recommendationsEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withRecommendationsEnabled(recommendationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the recommendationLookBackDuration value.
+ */
+ public Duration recommendationLookBackDuration() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendationLookBackDuration();
+ }
+
+ /**
+ * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param recommendationLookBackDuration the recommendationLookBackDuration value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withRecommendationLookBackDuration(
+ Duration recommendationLookBackDuration) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withRecommendationLookBackDuration(recommendationLookBackDuration);
+ return this;
+ }
+
+ /**
+ * Get the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @return the instanceDurationInDays value.
+ */
+ public Integer instanceDurationInDays() {
+ return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays();
+ }
+
+ /**
+ * Set the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @param instanceDurationInDays the instanceDurationInDays value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withInstanceDurationInDays(Integer instanceDurationInDays) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withInstanceDurationInDays(instanceDurationInDays);
+ return this;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerProperties() == null ? null : this.innerProperties().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withTypePropertiesType(AccessReviewRecurrencePatternType type) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerProperties() == null ? null : this.innerProperties().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withInterval(Integer interval) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerProperties() == null ? null : this.innerProperties().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withStartDate(OffsetDateTime startDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerProperties() == null ? null : this.innerProperties().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewScheduleDefinitionInner object itself.
+ */
+ public AccessReviewScheduleDefinitionInner withEndDate(OffsetDateTime endDate) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewScheduleDefinitionProperties();
+ }
+ this.innerProperties().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Get the resourceId property: ResourceId in which this review is getting created.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().resourceId();
+ }
+
+ /**
+ * Get the roleDefinitionId property: This is used to indicate the role being reviewed.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId();
+ }
+
+ /**
+ * Get the principalTypeScopePrincipalType property: The identity type user/servicePrincipal to review.
+ *
+ * @return the principalTypeScopePrincipalType value.
+ */
+ public AccessReviewScopePrincipalType principalTypeScopePrincipalType() {
+ return this.innerProperties() == null ? null : this.innerProperties().principalTypeScopePrincipalType();
+ }
+
+ /**
+ * Get the assignmentState property: The role assignment state eligible/active to review.
+ *
+ * @return the assignmentState value.
+ */
+ public AccessReviewScopeAssignmentState assignmentState() {
+ return this.innerProperties() == null ? null : this.innerProperties().assignmentState();
+ }
+
+ /**
+ * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the inactiveDuration value.
+ */
+ public Duration inactiveDuration() {
+ return this.innerProperties() == null ? null : this.innerProperties().inactiveDuration();
+ }
+
+ /**
+ * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the expandNestedMemberships value.
+ */
+ public Boolean expandNestedMemberships() {
+ return this.innerProperties() == null ? null : this.innerProperties().expandNestedMemberships();
+ }
+
+ /**
+ * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeInheritedAccess value.
+ */
+ public Boolean includeInheritedAccess() {
+ return this.innerProperties() == null ? null : this.innerProperties().includeInheritedAccess();
+ }
+
+ /**
+ * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeAccessBelowResource value.
+ */
+ public Boolean includeAccessBelowResource() {
+ return this.innerProperties() == null ? null : this.innerProperties().includeAccessBelowResource();
+ }
+
+ /**
+ * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude.
+ *
+ * @return the excludeResourceId value.
+ */
+ public String excludeResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().excludeResourceId();
+ }
+
+ /**
+ * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude.
+ *
+ * @return the excludeRoleDefinitionId value.
+ */
+ public String excludeRoleDefinitionId() {
+ return this.innerProperties() == null ? null : this.innerProperties().excludeRoleDefinitionId();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java
new file mode 100644
index 0000000000000..834bdd5a7ef93
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java
@@ -0,0 +1,889 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Access Review. */
+@Fluent
+public final class AccessReviewScheduleDefinitionProperties {
+ /*
+ * The display name for the schedule definition.
+ */
+ @JsonProperty(value = "displayName")
+ private String displayName;
+
+ /*
+ * This read-only field specifies the status of an accessReview.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewScheduleDefinitionStatus status;
+
+ /*
+ * The description provided by the access review creator and visible to admins.
+ */
+ @JsonProperty(value = "descriptionForAdmins")
+ private String descriptionForAdmins;
+
+ /*
+ * The description provided by the access review creator to be shown to reviewers.
+ */
+ @JsonProperty(value = "descriptionForReviewers")
+ private String descriptionForReviewers;
+
+ /*
+ * The user or other identity who created this review.
+ */
+ @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewActorIdentity innerCreatedBy;
+
+ /*
+ * Access Review Settings.
+ */
+ @JsonProperty(value = "settings")
+ private AccessReviewScheduleSettings innerSettings;
+
+ /*
+ * This is used to define what to include in scope of the review. The scope definition includes the resourceId and
+ * roleDefinitionId.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewScope innerScope;
+
+ /*
+ * This is the collection of reviewers.
+ */
+ @JsonProperty(value = "reviewers")
+ private List reviewers;
+
+ /*
+ * This is the collection of backup reviewers.
+ */
+ @JsonProperty(value = "backupReviewers")
+ private List backupReviewers;
+
+ /*
+ * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly
+ * assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For
+ * example managers review or self review.
+ */
+ @JsonProperty(value = "reviewersType", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewScheduleDefinitionReviewersType reviewersType;
+
+ /*
+ * This is the collection of instances returned when one does an expand on it.
+ */
+ @JsonProperty(value = "instances")
+ private List instances;
+
+ /** Creates an instance of AccessReviewScheduleDefinitionProperties class. */
+ public AccessReviewScheduleDefinitionProperties() {
+ }
+
+ /**
+ * Get the displayName property: The display name for the schedule definition.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Set the displayName property: The display name for the schedule definition.
+ *
+ * @param displayName the displayName value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withDisplayName(String displayName) {
+ this.displayName = displayName;
+ return this;
+ }
+
+ /**
+ * Get the status property: This read-only field specifies the status of an accessReview.
+ *
+ * @return the status value.
+ */
+ public AccessReviewScheduleDefinitionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the descriptionForAdmins property: The description provided by the access review creator and visible to
+ * admins.
+ *
+ * @return the descriptionForAdmins value.
+ */
+ public String descriptionForAdmins() {
+ return this.descriptionForAdmins;
+ }
+
+ /**
+ * Set the descriptionForAdmins property: The description provided by the access review creator and visible to
+ * admins.
+ *
+ * @param descriptionForAdmins the descriptionForAdmins value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withDescriptionForAdmins(String descriptionForAdmins) {
+ this.descriptionForAdmins = descriptionForAdmins;
+ return this;
+ }
+
+ /**
+ * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to
+ * reviewers.
+ *
+ * @return the descriptionForReviewers value.
+ */
+ public String descriptionForReviewers() {
+ return this.descriptionForReviewers;
+ }
+
+ /**
+ * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to
+ * reviewers.
+ *
+ * @param descriptionForReviewers the descriptionForReviewers value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withDescriptionForReviewers(String descriptionForReviewers) {
+ this.descriptionForReviewers = descriptionForReviewers;
+ return this;
+ }
+
+ /**
+ * Get the innerCreatedBy property: The user or other identity who created this review.
+ *
+ * @return the innerCreatedBy value.
+ */
+ private AccessReviewActorIdentity innerCreatedBy() {
+ return this.innerCreatedBy;
+ }
+
+ /**
+ * Get the innerSettings property: Access Review Settings.
+ *
+ * @return the innerSettings value.
+ */
+ private AccessReviewScheduleSettings innerSettings() {
+ return this.innerSettings;
+ }
+
+ /**
+ * Get the innerScope property: This is used to define what to include in scope of the review. The scope definition
+ * includes the resourceId and roleDefinitionId.
+ *
+ * @return the innerScope value.
+ */
+ private AccessReviewScope innerScope() {
+ return this.innerScope;
+ }
+
+ /**
+ * Get the reviewers property: This is the collection of reviewers.
+ *
+ * @return the reviewers value.
+ */
+ public List reviewers() {
+ return this.reviewers;
+ }
+
+ /**
+ * Set the reviewers property: This is the collection of reviewers.
+ *
+ * @param reviewers the reviewers value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withReviewers(List reviewers) {
+ this.reviewers = reviewers;
+ return this;
+ }
+
+ /**
+ * Get the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @return the backupReviewers value.
+ */
+ public List backupReviewers() {
+ return this.backupReviewers;
+ }
+
+ /**
+ * Set the backupReviewers property: This is the collection of backup reviewers.
+ *
+ * @param backupReviewers the backupReviewers value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withBackupReviewers(List backupReviewers) {
+ this.backupReviewers = backupReviewers;
+ return this;
+ }
+
+ /**
+ * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review,
+ * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be
+ * chosen dynamically. For example managers review or self review.
+ *
+ * @return the reviewersType value.
+ */
+ public AccessReviewScheduleDefinitionReviewersType reviewersType() {
+ return this.reviewersType;
+ }
+
+ /**
+ * Get the instances property: This is the collection of instances returned when one does an expand on it.
+ *
+ * @return the instances value.
+ */
+ public List instances() {
+ return this.instances;
+ }
+
+ /**
+ * Set the instances property: This is the collection of instances returned when one does an expand on it.
+ *
+ * @param instances the instances value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withInstances(List instances) {
+ this.instances = instances;
+ return this;
+ }
+
+ /**
+ * Get the principalId property: The identity id.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalId();
+ }
+
+ /**
+ * Get the principalType property: The identity type : user/servicePrincipal.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalType();
+ }
+
+ /**
+ * Get the principalName property: The identity display name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalName();
+ }
+
+ /**
+ * Get the userPrincipalName property: The user principal name(if valid).
+ *
+ * @return the userPrincipalName value.
+ */
+ public String userPrincipalName() {
+ return this.innerCreatedBy() == null ? null : this.innerCreatedBy().userPrincipalName();
+ }
+
+ /**
+ * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @return the mailNotificationsEnabled value.
+ */
+ public Boolean mailNotificationsEnabled() {
+ return this.innerSettings() == null ? null : this.innerSettings().mailNotificationsEnabled();
+ }
+
+ /**
+ * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @param mailNotificationsEnabled the mailNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withMailNotificationsEnabled(Boolean mailNotificationsEnabled) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withMailNotificationsEnabled(mailNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @return the reminderNotificationsEnabled value.
+ */
+ public Boolean reminderNotificationsEnabled() {
+ return this.innerSettings() == null ? null : this.innerSettings().reminderNotificationsEnabled();
+ }
+
+ /**
+ * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withReminderNotificationsEnabled(
+ Boolean reminderNotificationsEnabled) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withReminderNotificationsEnabled(reminderNotificationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @return the defaultDecisionEnabled value.
+ */
+ public Boolean defaultDecisionEnabled() {
+ return this.innerSettings() == null ? null : this.innerSettings().defaultDecisionEnabled();
+ }
+
+ /**
+ * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @param defaultDecisionEnabled the defaultDecisionEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withDefaultDecisionEnabled(defaultDecisionEnabled);
+ return this;
+ }
+
+ /**
+ * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @return the justificationRequiredOnApproval value.
+ */
+ public Boolean justificationRequiredOnApproval() {
+ return this.innerSettings() == null ? null : this.innerSettings().justificationRequiredOnApproval();
+ }
+
+ /**
+ * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withJustificationRequiredOnApproval(
+ Boolean justificationRequiredOnApproval) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withJustificationRequiredOnApproval(justificationRequiredOnApproval);
+ return this;
+ }
+
+ /**
+ * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @return the defaultDecision value.
+ */
+ public DefaultDecisionType defaultDecision() {
+ return this.innerSettings() == null ? null : this.innerSettings().defaultDecision();
+ }
+
+ /**
+ * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @param defaultDecision the defaultDecision value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withDefaultDecision(DefaultDecisionType defaultDecision) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withDefaultDecision(defaultDecision);
+ return this;
+ }
+
+ /**
+ * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @return the autoApplyDecisionsEnabled value.
+ */
+ public Boolean autoApplyDecisionsEnabled() {
+ return this.innerSettings() == null ? null : this.innerSettings().autoApplyDecisionsEnabled();
+ }
+
+ /**
+ * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @return the recommendationsEnabled value.
+ */
+ public Boolean recommendationsEnabled() {
+ return this.innerSettings() == null ? null : this.innerSettings().recommendationsEnabled();
+ }
+
+ /**
+ * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @param recommendationsEnabled the recommendationsEnabled value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withRecommendationsEnabled(Boolean recommendationsEnabled) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withRecommendationsEnabled(recommendationsEnabled);
+ return this;
+ }
+
+ /**
+ * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the recommendationLookBackDuration value.
+ */
+ public Duration recommendationLookBackDuration() {
+ return this.innerSettings() == null ? null : this.innerSettings().recommendationLookBackDuration();
+ }
+
+ /**
+ * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param recommendationLookBackDuration the recommendationLookBackDuration value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withRecommendationLookBackDuration(
+ Duration recommendationLookBackDuration) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withRecommendationLookBackDuration(recommendationLookBackDuration);
+ return this;
+ }
+
+ /**
+ * Get the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @return the instanceDurationInDays value.
+ */
+ public Integer instanceDurationInDays() {
+ return this.innerSettings() == null ? null : this.innerSettings().instanceDurationInDays();
+ }
+
+ /**
+ * Set the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @param instanceDurationInDays the instanceDurationInDays value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withInstanceDurationInDays(Integer instanceDurationInDays) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withInstanceDurationInDays(instanceDurationInDays);
+ return this;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.innerSettings() == null ? null : this.innerSettings().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withType(AccessReviewRecurrencePatternType type) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerSettings() == null ? null : this.innerSettings().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withInterval(Integer interval) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerSettings() == null ? null : this.innerSettings().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerSettings() == null ? null : this.innerSettings().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerSettings() == null ? null : this.innerSettings().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withStartDate(OffsetDateTime startDate) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerSettings() == null ? null : this.innerSettings().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withEndDate(OffsetDateTime endDate) {
+ if (this.innerSettings() == null) {
+ this.innerSettings = new AccessReviewScheduleSettings();
+ }
+ this.innerSettings().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Get the resourceId property: ResourceId in which this review is getting created.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.innerScope() == null ? null : this.innerScope().resourceId();
+ }
+
+ /**
+ * Get the roleDefinitionId property: This is used to indicate the role being reviewed.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.innerScope() == null ? null : this.innerScope().roleDefinitionId();
+ }
+
+ /**
+ * Get the principalType property: The identity type user/servicePrincipal to review.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewScopePrincipalType principalTypeScopePrincipalType() {
+ return this.innerScope() == null ? null : this.innerScope().principalType();
+ }
+
+ /**
+ * Get the assignmentState property: The role assignment state eligible/active to review.
+ *
+ * @return the assignmentState value.
+ */
+ public AccessReviewScopeAssignmentState assignmentState() {
+ return this.innerScope() == null ? null : this.innerScope().assignmentState();
+ }
+
+ /**
+ * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the inactiveDuration value.
+ */
+ public Duration inactiveDuration() {
+ return this.innerScope() == null ? null : this.innerScope().inactiveDuration();
+ }
+
+ /**
+ * Set the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param inactiveDuration the inactiveDuration value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withInactiveDuration(Duration inactiveDuration) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withInactiveDuration(inactiveDuration);
+ return this;
+ }
+
+ /**
+ * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the expandNestedMemberships value.
+ */
+ public Boolean expandNestedMemberships() {
+ return this.innerScope() == null ? null : this.innerScope().expandNestedMemberships();
+ }
+
+ /**
+ * Set the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param expandNestedMemberships the expandNestedMemberships value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withExpandNestedMemberships(Boolean expandNestedMemberships) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withExpandNestedMemberships(expandNestedMemberships);
+ return this;
+ }
+
+ /**
+ * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeInheritedAccess value.
+ */
+ public Boolean includeInheritedAccess() {
+ return this.innerScope() == null ? null : this.innerScope().includeInheritedAccess();
+ }
+
+ /**
+ * Set the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param includeInheritedAccess the includeInheritedAccess value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withIncludeInheritedAccess(Boolean includeInheritedAccess) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withIncludeInheritedAccess(includeInheritedAccess);
+ return this;
+ }
+
+ /**
+ * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeAccessBelowResource value.
+ */
+ public Boolean includeAccessBelowResource() {
+ return this.innerScope() == null ? null : this.innerScope().includeAccessBelowResource();
+ }
+
+ /**
+ * Set the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param includeAccessBelowResource the includeAccessBelowResource value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withIncludeAccessBelowResource(Boolean includeAccessBelowResource) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withIncludeAccessBelowResource(includeAccessBelowResource);
+ return this;
+ }
+
+ /**
+ * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude.
+ *
+ * @return the excludeResourceId value.
+ */
+ public String excludeResourceId() {
+ return this.innerScope() == null ? null : this.innerScope().excludeResourceId();
+ }
+
+ /**
+ * Set the excludeResourceId property: This is used to indicate the resource id(s) to exclude.
+ *
+ * @param excludeResourceId the excludeResourceId value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withExcludeResourceId(String excludeResourceId) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withExcludeResourceId(excludeResourceId);
+ return this;
+ }
+
+ /**
+ * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude.
+ *
+ * @return the excludeRoleDefinitionId value.
+ */
+ public String excludeRoleDefinitionId() {
+ return this.innerScope() == null ? null : this.innerScope().excludeRoleDefinitionId();
+ }
+
+ /**
+ * Set the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude.
+ *
+ * @param excludeRoleDefinitionId the excludeRoleDefinitionId value to set.
+ * @return the AccessReviewScheduleDefinitionProperties object itself.
+ */
+ public AccessReviewScheduleDefinitionProperties withExcludeRoleDefinitionId(String excludeRoleDefinitionId) {
+ if (this.innerScope() == null) {
+ this.innerScope = new AccessReviewScope();
+ }
+ this.innerScope().withExcludeRoleDefinitionId(excludeRoleDefinitionId);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerCreatedBy() != null) {
+ innerCreatedBy().validate();
+ }
+ if (innerSettings() != null) {
+ innerSettings().validate();
+ }
+ if (innerScope() != null) {
+ innerScope().validate();
+ }
+ if (reviewers() != null) {
+ reviewers().forEach(e -> e.validate());
+ }
+ if (backupReviewers() != null) {
+ backupReviewers().forEach(e -> e.validate());
+ }
+ if (instances() != null) {
+ instances().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java
new file mode 100644
index 0000000000000..d23ecaae60726
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java
@@ -0,0 +1,456 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+
+/** Settings of an Access Review. */
+@Fluent
+public final class AccessReviewScheduleSettings {
+ /*
+ * Flag to indicate whether sending mails to reviewers and the review creator is enabled.
+ */
+ @JsonProperty(value = "mailNotificationsEnabled")
+ private Boolean mailNotificationsEnabled;
+
+ /*
+ * Flag to indicate whether sending reminder emails to reviewers are enabled.
+ */
+ @JsonProperty(value = "reminderNotificationsEnabled")
+ private Boolean reminderNotificationsEnabled;
+
+ /*
+ * Flag to indicate whether reviewers are required to provide a justification when reviewing access.
+ */
+ @JsonProperty(value = "defaultDecisionEnabled")
+ private Boolean defaultDecisionEnabled;
+
+ /*
+ * Flag to indicate whether the reviewer is required to pass justification when recording a decision.
+ */
+ @JsonProperty(value = "justificationRequiredOnApproval")
+ private Boolean justificationRequiredOnApproval;
+
+ /*
+ * This specifies the behavior for the autoReview feature when an access review completes.
+ */
+ @JsonProperty(value = "defaultDecision")
+ private DefaultDecisionType defaultDecision;
+
+ /*
+ * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is
+ * enabled. If not enabled, a user must, after the review completes, apply the access review.
+ */
+ @JsonProperty(value = "autoApplyDecisionsEnabled")
+ private Boolean autoApplyDecisionsEnabled;
+
+ /*
+ * Flag to indicate whether showing recommendations to reviewers is enabled.
+ */
+ @JsonProperty(value = "recommendationsEnabled")
+ private Boolean recommendationsEnabled;
+
+ /*
+ * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the
+ * review) by default. However, in some scenarios, customers want to change how far back to look at and want to
+ * configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value
+ * should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert
+ * TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
+ */
+ @JsonProperty(value = "recommendationLookBackDuration")
+ private Duration recommendationLookBackDuration;
+
+ /*
+ * The duration in days for an instance.
+ */
+ @JsonProperty(value = "instanceDurationInDays")
+ private Integer instanceDurationInDays;
+
+ /*
+ * Access Review Settings.
+ */
+ @JsonProperty(value = "recurrence")
+ private AccessReviewRecurrenceSettings innerRecurrence;
+
+ /** Creates an instance of AccessReviewScheduleSettings class. */
+ public AccessReviewScheduleSettings() {
+ }
+
+ /**
+ * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @return the mailNotificationsEnabled value.
+ */
+ public Boolean mailNotificationsEnabled() {
+ return this.mailNotificationsEnabled;
+ }
+
+ /**
+ * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review
+ * creator is enabled.
+ *
+ * @param mailNotificationsEnabled the mailNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withMailNotificationsEnabled(Boolean mailNotificationsEnabled) {
+ this.mailNotificationsEnabled = mailNotificationsEnabled;
+ return this;
+ }
+
+ /**
+ * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @return the reminderNotificationsEnabled value.
+ */
+ public Boolean reminderNotificationsEnabled() {
+ return this.reminderNotificationsEnabled;
+ }
+
+ /**
+ * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are
+ * enabled.
+ *
+ * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) {
+ this.reminderNotificationsEnabled = reminderNotificationsEnabled;
+ return this;
+ }
+
+ /**
+ * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @return the defaultDecisionEnabled value.
+ */
+ public Boolean defaultDecisionEnabled() {
+ return this.defaultDecisionEnabled;
+ }
+
+ /**
+ * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a
+ * justification when reviewing access.
+ *
+ * @param defaultDecisionEnabled the defaultDecisionEnabled value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) {
+ this.defaultDecisionEnabled = defaultDecisionEnabled;
+ return this;
+ }
+
+ /**
+ * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @return the justificationRequiredOnApproval value.
+ */
+ public Boolean justificationRequiredOnApproval() {
+ return this.justificationRequiredOnApproval;
+ }
+
+ /**
+ * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass
+ * justification when recording a decision.
+ *
+ * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval) {
+ this.justificationRequiredOnApproval = justificationRequiredOnApproval;
+ return this;
+ }
+
+ /**
+ * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @return the defaultDecision value.
+ */
+ public DefaultDecisionType defaultDecision() {
+ return this.defaultDecision;
+ }
+
+ /**
+ * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review
+ * completes.
+ *
+ * @param defaultDecision the defaultDecision value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withDefaultDecision(DefaultDecisionType defaultDecision) {
+ this.defaultDecision = defaultDecision;
+ return this;
+ }
+
+ /**
+ * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @return the autoApplyDecisionsEnabled value.
+ */
+ public Boolean autoApplyDecisionsEnabled() {
+ return this.autoApplyDecisionsEnabled;
+ }
+
+ /**
+ * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically
+ * change the target object access resource, is enabled. If not enabled, a user must, after the review completes,
+ * apply the access review.
+ *
+ * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) {
+ this.autoApplyDecisionsEnabled = autoApplyDecisionsEnabled;
+ return this;
+ }
+
+ /**
+ * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @return the recommendationsEnabled value.
+ */
+ public Boolean recommendationsEnabled() {
+ return this.recommendationsEnabled;
+ }
+
+ /**
+ * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is
+ * enabled.
+ *
+ * @param recommendationsEnabled the recommendationsEnabled value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withRecommendationsEnabled(Boolean recommendationsEnabled) {
+ this.recommendationsEnabled = recommendationsEnabled;
+ return this;
+ }
+
+ /**
+ * Get the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the recommendationLookBackDuration value.
+ */
+ public Duration recommendationLookBackDuration() {
+ return this.recommendationLookBackDuration;
+ }
+
+ /**
+ * Set the recommendationLookBackDuration property: Recommendations for access reviews are calculated by looking
+ * back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers
+ * want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows
+ * customers to configure this duration. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param recommendationLookBackDuration the recommendationLookBackDuration value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withRecommendationLookBackDuration(Duration recommendationLookBackDuration) {
+ this.recommendationLookBackDuration = recommendationLookBackDuration;
+ return this;
+ }
+
+ /**
+ * Get the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @return the instanceDurationInDays value.
+ */
+ public Integer instanceDurationInDays() {
+ return this.instanceDurationInDays;
+ }
+
+ /**
+ * Set the instanceDurationInDays property: The duration in days for an instance.
+ *
+ * @param instanceDurationInDays the instanceDurationInDays value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withInstanceDurationInDays(Integer instanceDurationInDays) {
+ this.instanceDurationInDays = instanceDurationInDays;
+ return this;
+ }
+
+ /**
+ * Get the innerRecurrence property: Access Review Settings.
+ *
+ * @return the innerRecurrence value.
+ */
+ private AccessReviewRecurrenceSettings innerRecurrence() {
+ return this.innerRecurrence;
+ }
+
+ /**
+ * Get the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @return the type value.
+ */
+ public AccessReviewRecurrencePatternType type() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().type();
+ }
+
+ /**
+ * Set the type property: The recurrence type : weekly, monthly, etc.
+ *
+ * @param type the type value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withType(AccessReviewRecurrencePatternType type) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withType(type);
+ return this;
+ }
+
+ /**
+ * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @return the interval value.
+ */
+ public Integer interval() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().interval();
+ }
+
+ /**
+ * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type :
+ * absoluteMonthly.
+ *
+ * @param interval the interval value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withInterval(Integer interval) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withInterval(interval);
+ return this;
+ }
+
+ /**
+ * Get the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @return the typeRangeType value.
+ */
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().typeRangeType();
+ }
+
+ /**
+ * Set the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered.
+ *
+ * @param typeRangeType the typeRangeType value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ /**
+ * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @return the numberOfOccurrences value.
+ */
+ public Integer numberOfOccurrences() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().numberOfOccurrences();
+ }
+
+ /**
+ * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be
+ * positive if type is numbered.
+ *
+ * @param numberOfOccurrences the numberOfOccurrences value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withNumberOfOccurrences(Integer numberOfOccurrences) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ /**
+ * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @return the startDate value.
+ */
+ public OffsetDateTime startDate() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().startDate();
+ }
+
+ /**
+ * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the
+ * future. Required on create.
+ *
+ * @param startDate the startDate value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withStartDate(OffsetDateTime startDate) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withStartDate(startDate);
+ return this;
+ }
+
+ /**
+ * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @return the endDate value.
+ */
+ public OffsetDateTime endDate() {
+ return this.innerRecurrence() == null ? null : this.innerRecurrence().endDate();
+ }
+
+ /**
+ * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate.
+ *
+ * @param endDate the endDate value to set.
+ * @return the AccessReviewScheduleSettings object itself.
+ */
+ public AccessReviewScheduleSettings withEndDate(OffsetDateTime endDate) {
+ if (this.innerRecurrence() == null) {
+ this.innerRecurrence = new AccessReviewRecurrenceSettings();
+ }
+ this.innerRecurrence().withEndDate(endDate);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerRecurrence() != null) {
+ innerRecurrence().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java
new file mode 100644
index 0000000000000..f62cfd4bbdf4d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java
@@ -0,0 +1,249 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.Duration;
+
+/** Descriptor for what needs to be reviewed. */
+@Fluent
+public final class AccessReviewScope {
+ /*
+ * ResourceId in which this review is getting created
+ */
+ @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceId;
+
+ /*
+ * This is used to indicate the role being reviewed
+ */
+ @JsonProperty(value = "roleDefinitionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String roleDefinitionId;
+
+ /*
+ * The identity type user/servicePrincipal to review
+ */
+ @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewScopePrincipalType principalType;
+
+ /*
+ * The role assignment state eligible/active to review
+ */
+ @JsonProperty(value = "assignmentState", access = JsonProperty.Access.WRITE_ONLY)
+ private AccessReviewScopeAssignmentState assignmentState;
+
+ /*
+ * Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
+ */
+ @JsonProperty(value = "inactiveDuration")
+ private Duration inactiveDuration;
+
+ /*
+ * Flag to indicate whether to expand nested memberships or not.
+ */
+ @JsonProperty(value = "expandNestedMemberships")
+ private Boolean expandNestedMemberships;
+
+ /*
+ * Flag to indicate whether to expand nested memberships or not.
+ */
+ @JsonProperty(value = "includeInheritedAccess")
+ private Boolean includeInheritedAccess;
+
+ /*
+ * Flag to indicate whether to expand nested memberships or not.
+ */
+ @JsonProperty(value = "includeAccessBelowResource")
+ private Boolean includeAccessBelowResource;
+
+ /*
+ * This is used to indicate the resource id(s) to exclude
+ */
+ @JsonProperty(value = "excludeResourceId")
+ private String excludeResourceId;
+
+ /*
+ * This is used to indicate the role definition id(s) to exclude
+ */
+ @JsonProperty(value = "excludeRoleDefinitionId")
+ private String excludeRoleDefinitionId;
+
+ /** Creates an instance of AccessReviewScope class. */
+ public AccessReviewScope() {
+ }
+
+ /**
+ * Get the resourceId property: ResourceId in which this review is getting created.
+ *
+ * @return the resourceId value.
+ */
+ public String resourceId() {
+ return this.resourceId;
+ }
+
+ /**
+ * Get the roleDefinitionId property: This is used to indicate the role being reviewed.
+ *
+ * @return the roleDefinitionId value.
+ */
+ public String roleDefinitionId() {
+ return this.roleDefinitionId;
+ }
+
+ /**
+ * Get the principalType property: The identity type user/servicePrincipal to review.
+ *
+ * @return the principalType value.
+ */
+ public AccessReviewScopePrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Get the assignmentState property: The role assignment state eligible/active to review.
+ *
+ * @return the assignmentState value.
+ */
+ public AccessReviewScopeAssignmentState assignmentState() {
+ return this.assignmentState;
+ }
+
+ /**
+ * Get the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @return the inactiveDuration value.
+ */
+ public Duration inactiveDuration() {
+ return this.inactiveDuration;
+ }
+
+ /**
+ * Set the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format
+ * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval
+ * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)).
+ *
+ * @param inactiveDuration the inactiveDuration value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withInactiveDuration(Duration inactiveDuration) {
+ this.inactiveDuration = inactiveDuration;
+ return this;
+ }
+
+ /**
+ * Get the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the expandNestedMemberships value.
+ */
+ public Boolean expandNestedMemberships() {
+ return this.expandNestedMemberships;
+ }
+
+ /**
+ * Set the expandNestedMemberships property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param expandNestedMemberships the expandNestedMemberships value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withExpandNestedMemberships(Boolean expandNestedMemberships) {
+ this.expandNestedMemberships = expandNestedMemberships;
+ return this;
+ }
+
+ /**
+ * Get the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeInheritedAccess value.
+ */
+ public Boolean includeInheritedAccess() {
+ return this.includeInheritedAccess;
+ }
+
+ /**
+ * Set the includeInheritedAccess property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param includeInheritedAccess the includeInheritedAccess value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withIncludeInheritedAccess(Boolean includeInheritedAccess) {
+ this.includeInheritedAccess = includeInheritedAccess;
+ return this;
+ }
+
+ /**
+ * Get the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @return the includeAccessBelowResource value.
+ */
+ public Boolean includeAccessBelowResource() {
+ return this.includeAccessBelowResource;
+ }
+
+ /**
+ * Set the includeAccessBelowResource property: Flag to indicate whether to expand nested memberships or not.
+ *
+ * @param includeAccessBelowResource the includeAccessBelowResource value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withIncludeAccessBelowResource(Boolean includeAccessBelowResource) {
+ this.includeAccessBelowResource = includeAccessBelowResource;
+ return this;
+ }
+
+ /**
+ * Get the excludeResourceId property: This is used to indicate the resource id(s) to exclude.
+ *
+ * @return the excludeResourceId value.
+ */
+ public String excludeResourceId() {
+ return this.excludeResourceId;
+ }
+
+ /**
+ * Set the excludeResourceId property: This is used to indicate the resource id(s) to exclude.
+ *
+ * @param excludeResourceId the excludeResourceId value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withExcludeResourceId(String excludeResourceId) {
+ this.excludeResourceId = excludeResourceId;
+ return this;
+ }
+
+ /**
+ * Get the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude.
+ *
+ * @return the excludeRoleDefinitionId value.
+ */
+ public String excludeRoleDefinitionId() {
+ return this.excludeRoleDefinitionId;
+ }
+
+ /**
+ * Set the excludeRoleDefinitionId property: This is used to indicate the role definition id(s) to exclude.
+ *
+ * @param excludeRoleDefinitionId the excludeRoleDefinitionId value to set.
+ * @return the AccessReviewScope object itself.
+ */
+ public AccessReviewScope withExcludeRoleDefinitionId(String excludeRoleDefinitionId) {
+ this.excludeRoleDefinitionId = excludeRoleDefinitionId;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java
new file mode 100644
index 0000000000000..1837cbde64d85
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationInner.java
@@ -0,0 +1,98 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Alert configuration. */
+@Fluent
+public final class AlertConfigurationInner {
+ /*
+ * The alert configuration ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The alert configuration name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The alert configuration type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Alert configuration properties.
+ */
+ @JsonProperty(value = "properties")
+ private AlertConfigurationPropertiesInner properties;
+
+ /** Creates an instance of AlertConfigurationInner class. */
+ public AlertConfigurationInner() {
+ }
+
+ /**
+ * Get the id property: The alert configuration ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The alert configuration name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The alert configuration type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the properties property: Alert configuration properties.
+ *
+ * @return the properties value.
+ */
+ public AlertConfigurationPropertiesInner properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Alert configuration properties.
+ *
+ * @param properties the properties value to set.
+ * @return the AlertConfigurationInner object itself.
+ */
+ public AlertConfigurationInner withProperties(AlertConfigurationPropertiesInner properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.java
new file mode 100644
index 0000000000000..f8fc7a28a6031
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertConfigurationPropertiesInner.java
@@ -0,0 +1,125 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AzureRolesAssignedOutsidePimAlertConfigurationProperties;
+import com.azure.resourcemanager.authorization.generated.models.DuplicateRoleCreatedAlertConfigurationProperties;
+import com.azure.resourcemanager.authorization.generated.models.TooManyOwnersAssignedToResourceAlertConfigurationProperties;
+import com.azure.resourcemanager.authorization.generated.models.TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Alert configuration properties. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "alertConfigurationType",
+ defaultImpl = AlertConfigurationPropertiesInner.class)
+@JsonTypeName("AlertConfigurationProperties")
+@JsonSubTypes({
+ @JsonSubTypes.Type(
+ name = "AzureRolesAssignedOutsidePimAlertConfiguration",
+ value = AzureRolesAssignedOutsidePimAlertConfigurationProperties.class),
+ @JsonSubTypes.Type(
+ name = "DuplicateRoleCreatedAlertConfiguration",
+ value = DuplicateRoleCreatedAlertConfigurationProperties.class),
+ @JsonSubTypes.Type(
+ name = "TooManyOwnersAssignedToResourceAlertConfiguration",
+ value = TooManyOwnersAssignedToResourceAlertConfigurationProperties.class),
+ @JsonSubTypes.Type(
+ name = "TooManyPermanentOwnersAssignedToResourceAlertConfiguration",
+ value = TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties.class)
+})
+@Fluent
+public class AlertConfigurationPropertiesInner {
+ /*
+ * The alert definition ID.
+ */
+ @JsonProperty(value = "alertDefinitionId", access = JsonProperty.Access.WRITE_ONLY)
+ private String alertDefinitionId;
+
+ /*
+ * The alert scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * True if the alert is enabled, false will disable the scanning for the specific alert.
+ */
+ @JsonProperty(value = "isEnabled")
+ private Boolean isEnabled;
+
+ /*
+ * The alert definition.
+ */
+ @JsonProperty(value = "alertDefinition", access = JsonProperty.Access.WRITE_ONLY)
+ private AlertDefinitionInner alertDefinition;
+
+ /** Creates an instance of AlertConfigurationPropertiesInner class. */
+ public AlertConfigurationPropertiesInner() {
+ }
+
+ /**
+ * Get the alertDefinitionId property: The alert definition ID.
+ *
+ * @return the alertDefinitionId value.
+ */
+ public String alertDefinitionId() {
+ return this.alertDefinitionId;
+ }
+
+ /**
+ * Get the scope property: The alert scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the isEnabled property: True if the alert is enabled, false will disable the scanning for the specific alert.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Set the isEnabled property: True if the alert is enabled, false will disable the scanning for the specific alert.
+ *
+ * @param isEnabled the isEnabled value to set.
+ * @return the AlertConfigurationPropertiesInner object itself.
+ */
+ public AlertConfigurationPropertiesInner withIsEnabled(Boolean isEnabled) {
+ this.isEnabled = isEnabled;
+ return this;
+ }
+
+ /**
+ * Get the alertDefinition property: The alert definition.
+ *
+ * @return the alertDefinition value.
+ */
+ public AlertDefinitionInner alertDefinition() {
+ return this.alertDefinition;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (alertDefinition() != null) {
+ alertDefinition().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java
new file mode 100644
index 0000000000000..5308c0b75ca5a
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionInner.java
@@ -0,0 +1,169 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.authorization.generated.models.SeverityLevel;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Alert definition. */
+@Immutable
+public final class AlertDefinitionInner {
+ /*
+ * The alert definition ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The alert definition name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The alert definition type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Alert definition properties.
+ */
+ @JsonProperty(value = "properties")
+ private AlertDefinitionProperties innerProperties;
+
+ /** Creates an instance of AlertDefinitionInner class. */
+ public AlertDefinitionInner() {
+ }
+
+ /**
+ * Get the id property: The alert definition ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The alert definition name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The alert definition type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Alert definition properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AlertDefinitionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the displayName property: The alert display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Get the scope property: The alert scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Get the description property: The alert description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Get the severityLevel property: Severity level of the alert.
+ *
+ * @return the severityLevel value.
+ */
+ public SeverityLevel severityLevel() {
+ return this.innerProperties() == null ? null : this.innerProperties().severityLevel();
+ }
+
+ /**
+ * Get the securityImpact property: Security impact of the alert.
+ *
+ * @return the securityImpact value.
+ */
+ public String securityImpact() {
+ return this.innerProperties() == null ? null : this.innerProperties().securityImpact();
+ }
+
+ /**
+ * Get the mitigationSteps property: The methods to mitigate the alert.
+ *
+ * @return the mitigationSteps value.
+ */
+ public String mitigationSteps() {
+ return this.innerProperties() == null ? null : this.innerProperties().mitigationSteps();
+ }
+
+ /**
+ * Get the howToPrevent property: The ways to prevent the alert.
+ *
+ * @return the howToPrevent value.
+ */
+ public String howToPrevent() {
+ return this.innerProperties() == null ? null : this.innerProperties().howToPrevent();
+ }
+
+ /**
+ * Get the isRemediatable property: True if the alert can be remediated; false, otherwise.
+ *
+ * @return the isRemediatable value.
+ */
+ public Boolean isRemediatable() {
+ return this.innerProperties() == null ? null : this.innerProperties().isRemediatable();
+ }
+
+ /**
+ * Get the isConfigurable property: True if the alert configuration can be configured; false, otherwise.
+ *
+ * @return the isConfigurable value.
+ */
+ public Boolean isConfigurable() {
+ return this.innerProperties() == null ? null : this.innerProperties().isConfigurable();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java
new file mode 100644
index 0000000000000..d9df588a202b8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertDefinitionProperties.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.authorization.generated.models.SeverityLevel;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Alert definition properties. */
+@Immutable
+public final class AlertDefinitionProperties {
+ /*
+ * The alert display name.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /*
+ * The alert scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * The alert description.
+ */
+ @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY)
+ private String description;
+
+ /*
+ * Severity level of the alert.
+ */
+ @JsonProperty(value = "severityLevel", access = JsonProperty.Access.WRITE_ONLY)
+ private SeverityLevel severityLevel;
+
+ /*
+ * Security impact of the alert.
+ */
+ @JsonProperty(value = "securityImpact", access = JsonProperty.Access.WRITE_ONLY)
+ private String securityImpact;
+
+ /*
+ * The methods to mitigate the alert.
+ */
+ @JsonProperty(value = "mitigationSteps", access = JsonProperty.Access.WRITE_ONLY)
+ private String mitigationSteps;
+
+ /*
+ * The ways to prevent the alert.
+ */
+ @JsonProperty(value = "howToPrevent", access = JsonProperty.Access.WRITE_ONLY)
+ private String howToPrevent;
+
+ /*
+ * True if the alert can be remediated; false, otherwise.
+ */
+ @JsonProperty(value = "isRemediatable", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isRemediatable;
+
+ /*
+ * True if the alert configuration can be configured; false, otherwise.
+ */
+ @JsonProperty(value = "isConfigurable", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isConfigurable;
+
+ /** Creates an instance of AlertDefinitionProperties class. */
+ public AlertDefinitionProperties() {
+ }
+
+ /**
+ * Get the displayName property: The alert display name.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Get the scope property: The alert scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the description property: The alert description.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Get the severityLevel property: Severity level of the alert.
+ *
+ * @return the severityLevel value.
+ */
+ public SeverityLevel severityLevel() {
+ return this.severityLevel;
+ }
+
+ /**
+ * Get the securityImpact property: Security impact of the alert.
+ *
+ * @return the securityImpact value.
+ */
+ public String securityImpact() {
+ return this.securityImpact;
+ }
+
+ /**
+ * Get the mitigationSteps property: The methods to mitigate the alert.
+ *
+ * @return the mitigationSteps value.
+ */
+ public String mitigationSteps() {
+ return this.mitigationSteps;
+ }
+
+ /**
+ * Get the howToPrevent property: The ways to prevent the alert.
+ *
+ * @return the howToPrevent value.
+ */
+ public String howToPrevent() {
+ return this.howToPrevent;
+ }
+
+ /**
+ * Get the isRemediatable property: True if the alert can be remediated; false, otherwise.
+ *
+ * @return the isRemediatable value.
+ */
+ public Boolean isRemediatable() {
+ return this.isRemediatable;
+ }
+
+ /**
+ * Get the isConfigurable property: True if the alert configuration can be configured; false, otherwise.
+ *
+ * @return the isConfigurable value.
+ */
+ public Boolean isConfigurable() {
+ return this.isConfigurable;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java
new file mode 100644
index 0000000000000..0ed4c72c19f9e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertIncidentInner.java
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.AlertIncidentProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Alert incident. */
+@Fluent
+public final class AlertIncidentInner {
+ /*
+ * The alert incident ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The alert incident name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The alert incident type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Alert incident properties.
+ */
+ @JsonProperty(value = "properties")
+ private AlertIncidentProperties properties;
+
+ /** Creates an instance of AlertIncidentInner class. */
+ public AlertIncidentInner() {
+ }
+
+ /**
+ * Get the id property: The alert incident ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The alert incident name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The alert incident type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the properties property: Alert incident properties.
+ *
+ * @return the properties value.
+ */
+ public AlertIncidentProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Alert incident properties.
+ *
+ * @param properties the properties value to set.
+ * @return the AlertIncidentInner object itself.
+ */
+ public AlertIncidentInner withProperties(AlertIncidentProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java
new file mode 100644
index 0000000000000..3326de2d32a54
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertInner.java
@@ -0,0 +1,176 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** The alert. */
+@Fluent
+public final class AlertInner {
+ /*
+ * The alert ID.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The alert name.
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The alert type.
+ */
+ @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY)
+ private String type;
+
+ /*
+ * Alert properties.
+ */
+ @JsonProperty(value = "properties")
+ private AlertPropertiesInner innerProperties;
+
+ /** Creates an instance of AlertInner class. */
+ public AlertInner() {
+ }
+
+ /**
+ * Get the id property: The alert ID.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The alert name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The alert type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the innerProperties property: Alert properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AlertPropertiesInner innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the scope property: The alert scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.innerProperties() == null ? null : this.innerProperties().scope();
+ }
+
+ /**
+ * Get the isActive property: False by default; true if the alert is active.
+ *
+ * @return the isActive value.
+ */
+ public Boolean isActive() {
+ return this.innerProperties() == null ? null : this.innerProperties().isActive();
+ }
+
+ /**
+ * Set the isActive property: False by default; true if the alert is active.
+ *
+ * @param isActive the isActive value to set.
+ * @return the AlertInner object itself.
+ */
+ public AlertInner withIsActive(Boolean isActive) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AlertPropertiesInner();
+ }
+ this.innerProperties().withIsActive(isActive);
+ return this;
+ }
+
+ /**
+ * Get the incidentCount property: The number of generated incidents of the alert.
+ *
+ * @return the incidentCount value.
+ */
+ public Integer incidentCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().incidentCount();
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents
+ * were generated.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastModifiedDateTime();
+ }
+
+ /**
+ * Get the lastScannedDateTime property: The date time when the alert was last scanned.
+ *
+ * @return the lastScannedDateTime value.
+ */
+ public OffsetDateTime lastScannedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().lastScannedDateTime();
+ }
+
+ /**
+ * Get the alertDefinition property: The alert definition.
+ *
+ * @return the alertDefinition value.
+ */
+ public AlertDefinitionInner alertDefinition() {
+ return this.innerProperties() == null ? null : this.innerProperties().alertDefinition();
+ }
+
+ /**
+ * Get the alertIncidents property: The alert incidents.
+ *
+ * @return the alertIncidents value.
+ */
+ public List alertIncidents() {
+ return this.innerProperties() == null ? null : this.innerProperties().alertIncidents();
+ }
+
+ /**
+ * Get the alertConfiguration property: The alert configuration.
+ *
+ * @return the alertConfiguration value.
+ */
+ public AlertConfigurationInner alertConfiguration() {
+ return this.innerProperties() == null ? null : this.innerProperties().alertConfiguration();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationListResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationListResultInner.java
new file mode 100644
index 0000000000000..eea7a32f77db7
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationListResultInner.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.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Alert operation list operation result. */
+@Fluent
+public final class AlertOperationListResultInner {
+ /*
+ * Alert operation list
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /*
+ * The URL to use for getting the next set of results.
+ */
+ @JsonProperty(value = "nextLink")
+ private String nextLink;
+
+ /** Creates an instance of AlertOperationListResultInner class. */
+ public AlertOperationListResultInner() {
+ }
+
+ /**
+ * Get the value property: Alert operation list.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Alert operation list.
+ *
+ * @param value the value value to set.
+ * @return the AlertOperationListResultInner object itself.
+ */
+ public AlertOperationListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: The URL to use for getting the next set of results.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: The URL to use for getting the next set of results.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the AlertOperationListResultInner object itself.
+ */
+ public AlertOperationListResultInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.java
new file mode 100644
index 0000000000000..0f80fcbc3700c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertOperationResultInner.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Alert operation result. */
+@Immutable
+public final class AlertOperationResultInner {
+ /*
+ * The id of the alert operation.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The status of the alert operation.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private String status;
+
+ /** Creates an instance of AlertOperationResultInner class. */
+ public AlertOperationResultInner() {
+ }
+
+ /**
+ * Get the id property: The id of the alert operation.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the status property: The status of the alert operation.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java
new file mode 100644
index 0000000000000..f0910a845faf4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AlertPropertiesInner.java
@@ -0,0 +1,167 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/** Alert properties. */
+@Fluent
+public final class AlertPropertiesInner {
+ /*
+ * The alert scope.
+ */
+ @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY)
+ private String scope;
+
+ /*
+ * False by default; true if the alert is active.
+ */
+ @JsonProperty(value = "isActive")
+ private Boolean isActive;
+
+ /*
+ * The number of generated incidents of the alert.
+ */
+ @JsonProperty(value = "incidentCount", access = JsonProperty.Access.WRITE_ONLY)
+ private Integer incidentCount;
+
+ /*
+ * The date time when the alert configuration was updated or new incidents were generated.
+ */
+ @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastModifiedDateTime;
+
+ /*
+ * The date time when the alert was last scanned.
+ */
+ @JsonProperty(value = "lastScannedDateTime", access = JsonProperty.Access.WRITE_ONLY)
+ private OffsetDateTime lastScannedDateTime;
+
+ /*
+ * The alert definition.
+ */
+ @JsonProperty(value = "alertDefinition", access = JsonProperty.Access.WRITE_ONLY)
+ private AlertDefinitionInner alertDefinition;
+
+ /*
+ * The alert incidents.
+ */
+ @JsonProperty(value = "alertIncidents", access = JsonProperty.Access.WRITE_ONLY)
+ private List alertIncidents;
+
+ /*
+ * The alert configuration.
+ */
+ @JsonProperty(value = "alertConfiguration", access = JsonProperty.Access.WRITE_ONLY)
+ private AlertConfigurationInner alertConfiguration;
+
+ /** Creates an instance of AlertPropertiesInner class. */
+ public AlertPropertiesInner() {
+ }
+
+ /**
+ * Get the scope property: The alert scope.
+ *
+ * @return the scope value.
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Get the isActive property: False by default; true if the alert is active.
+ *
+ * @return the isActive value.
+ */
+ public Boolean isActive() {
+ return this.isActive;
+ }
+
+ /**
+ * Set the isActive property: False by default; true if the alert is active.
+ *
+ * @param isActive the isActive value to set.
+ * @return the AlertPropertiesInner object itself.
+ */
+ public AlertPropertiesInner withIsActive(Boolean isActive) {
+ this.isActive = isActive;
+ return this;
+ }
+
+ /**
+ * Get the incidentCount property: The number of generated incidents of the alert.
+ *
+ * @return the incidentCount value.
+ */
+ public Integer incidentCount() {
+ return this.incidentCount;
+ }
+
+ /**
+ * Get the lastModifiedDateTime property: The date time when the alert configuration was updated or new incidents
+ * were generated.
+ *
+ * @return the lastModifiedDateTime value.
+ */
+ public OffsetDateTime lastModifiedDateTime() {
+ return this.lastModifiedDateTime;
+ }
+
+ /**
+ * Get the lastScannedDateTime property: The date time when the alert was last scanned.
+ *
+ * @return the lastScannedDateTime value.
+ */
+ public OffsetDateTime lastScannedDateTime() {
+ return this.lastScannedDateTime;
+ }
+
+ /**
+ * Get the alertDefinition property: The alert definition.
+ *
+ * @return the alertDefinition value.
+ */
+ public AlertDefinitionInner alertDefinition() {
+ return this.alertDefinition;
+ }
+
+ /**
+ * Get the alertIncidents property: The alert incidents.
+ *
+ * @return the alertIncidents value.
+ */
+ public List alertIncidents() {
+ return this.alertIncidents;
+ }
+
+ /**
+ * Get the alertConfiguration property: The alert configuration.
+ *
+ * @return the alertConfiguration value.
+ */
+ public AlertConfigurationInner alertConfiguration() {
+ return this.alertConfiguration;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (alertDefinition() != null) {
+ alertDefinition().validate();
+ }
+ if (alertIncidents() != null) {
+ alertIncidents().forEach(e -> e.validate());
+ }
+ if (alertConfiguration() != null) {
+ alertConfiguration().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java
new file mode 100644
index 0000000000000..fa6a17168fde8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.authorization.generated.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The definition of a Microsoft.Authorization operation. */
+@Fluent
+public final class OperationInner {
+ /*
+ * Name of the operation
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Indicates whether the operation is a data action
+ */
+ @JsonProperty(value = "isDataAction")
+ private Boolean isDataAction;
+
+ /*
+ * Display of the operation
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /*
+ * Origin of the operation
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /** Creates an instance of OperationInner class. */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: Name of the operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the operation.
+ *
+ * @param name the name value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the isDataAction property: Indicates whether the operation is a data action.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set the isDataAction property: Indicates whether the operation is a data action.
+ *
+ * @param isDataAction the isDataAction value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the display property: Display of the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Display of the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: Origin of the operation.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: Origin of the operation.
+ *
+ * @param origin the origin value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java
new file mode 100644
index 0000000000000..778f02ae93c82
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for AuthorizationManagementClient. Access reviews service provides the
+ * workflow for running access reviews on different kind of resources.
+ */
+package com.azure.resourcemanager.authorization.generated.fluent.models;
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java
new file mode 100644
index 0000000000000..e4a5da680dfa8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for AuthorizationManagementClient. Access reviews service provides the
+ * workflow for running access reviews on different kind of resources.
+ */
+package com.azure.resourcemanager.authorization.generated.fluent;
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.java
new file mode 100644
index 0000000000000..f4b623dbe7a3c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewContactedReviewerImpl.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer;
+import java.time.OffsetDateTime;
+
+public final class AccessReviewContactedReviewerImpl implements AccessReviewContactedReviewer {
+ private AccessReviewContactedReviewerInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewContactedReviewerImpl(
+ AccessReviewContactedReviewerInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String userDisplayName() {
+ return this.innerModel().userDisplayName();
+ }
+
+ public String userPrincipalName() {
+ return this.innerModel().userPrincipalName();
+ }
+
+ public OffsetDateTime createdDateTime() {
+ return this.innerModel().createdDateTime();
+ }
+
+ public AccessReviewContactedReviewerInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java
new file mode 100644
index 0000000000000..b43ff3000071b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionIdentity;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionInsight;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionPrincipalResourceMembershipType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import com.azure.resourcemanager.authorization.generated.models.DecisionResourceType;
+import java.time.OffsetDateTime;
+import java.util.Collections;
+import java.util.List;
+
+public final class AccessReviewDecisionImpl implements AccessReviewDecision {
+ private AccessReviewDecisionInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewDecisionImpl(
+ AccessReviewDecisionInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AccessReviewDecisionIdentity principal() {
+ return this.innerModel().principal();
+ }
+
+ public AccessRecommendationType recommendation() {
+ return this.innerModel().recommendation();
+ }
+
+ public AccessReviewResult decision() {
+ return this.innerModel().decision();
+ }
+
+ public String justification() {
+ return this.innerModel().justification();
+ }
+
+ public OffsetDateTime reviewedDateTime() {
+ return this.innerModel().reviewedDateTime();
+ }
+
+ public AccessReviewApplyResult applyResult() {
+ return this.innerModel().applyResult();
+ }
+
+ public OffsetDateTime appliedDateTime() {
+ return this.innerModel().appliedDateTime();
+ }
+
+ public List insights() {
+ List inner = this.innerModel().insights();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public DecisionResourceType typePropertiesType() {
+ return this.innerModel().typePropertiesType();
+ }
+
+ public String idPropertiesId() {
+ return this.innerModel().idPropertiesId();
+ }
+
+ public String displayName() {
+ return this.innerModel().displayName();
+ }
+
+ public String principalId() {
+ return this.innerModel().principalId();
+ }
+
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerModel().principalType();
+ }
+
+ public String principalName() {
+ return this.innerModel().principalName();
+ }
+
+ public String userPrincipalName() {
+ return this.innerModel().userPrincipalName();
+ }
+
+ public String principalIdAppliedByPrincipalId() {
+ return this.innerModel().principalIdAppliedByPrincipalId();
+ }
+
+ public AccessReviewActorIdentityType principalTypeAppliedByPrincipalType() {
+ return this.innerModel().principalTypeAppliedByPrincipalType();
+ }
+
+ public String principalNameAppliedByPrincipalName() {
+ return this.innerModel().principalNameAppliedByPrincipalName();
+ }
+
+ public String userPrincipalNameAppliedByUserPrincipalName() {
+ return this.innerModel().userPrincipalNameAppliedByUserPrincipalName();
+ }
+
+ public List membershipTypes() {
+ List inner = this.innerModel().membershipTypes();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public AccessReviewDecisionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java
new file mode 100644
index 0000000000000..fa4e23360395e
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java
@@ -0,0 +1,106 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType;
+import java.time.Duration;
+import java.time.OffsetDateTime;
+
+public final class AccessReviewDefaultSettingsImpl implements AccessReviewDefaultSettings {
+ private AccessReviewDefaultSettingsInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewDefaultSettingsImpl(
+ AccessReviewDefaultSettingsInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public Boolean mailNotificationsEnabled() {
+ return this.innerModel().mailNotificationsEnabled();
+ }
+
+ public Boolean reminderNotificationsEnabled() {
+ return this.innerModel().reminderNotificationsEnabled();
+ }
+
+ public Boolean defaultDecisionEnabled() {
+ return this.innerModel().defaultDecisionEnabled();
+ }
+
+ public Boolean justificationRequiredOnApproval() {
+ return this.innerModel().justificationRequiredOnApproval();
+ }
+
+ public DefaultDecisionType defaultDecision() {
+ return this.innerModel().defaultDecision();
+ }
+
+ public Boolean autoApplyDecisionsEnabled() {
+ return this.innerModel().autoApplyDecisionsEnabled();
+ }
+
+ public Boolean recommendationsEnabled() {
+ return this.innerModel().recommendationsEnabled();
+ }
+
+ public Duration recommendationLookBackDuration() {
+ return this.innerModel().recommendationLookBackDuration();
+ }
+
+ public Integer instanceDurationInDays() {
+ return this.innerModel().instanceDurationInDays();
+ }
+
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerModel().typePropertiesType();
+ }
+
+ public Integer interval() {
+ return this.innerModel().interval();
+ }
+
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerModel().typeRangeType();
+ }
+
+ public Integer numberOfOccurrences() {
+ return this.innerModel().numberOfOccurrences();
+ }
+
+ public OffsetDateTime startDate() {
+ return this.innerModel().startDate();
+ }
+
+ public OffsetDateTime endDate() {
+ return this.innerModel().endDate();
+ }
+
+ public AccessReviewDefaultSettingsInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java
new file mode 100644
index 0000000000000..2aab67236f331
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java
@@ -0,0 +1,316 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewDefaultSettingsOperationsClient.
+ */
+public final class AccessReviewDefaultSettingsOperationsClientImpl
+ implements AccessReviewDefaultSettingsOperationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewDefaultSettingsOperationsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewDefaultSettingsOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewDefaultSettingsOperationsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewDefaultSettingsOperationsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewDefaultSettingsOperations to
+ * be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewDefaultSettingsOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> put(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") AccessReviewScheduleSettings properties,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync() {
+ return getWithResponseAsync().flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(Context context) {
+ return getWithResponseAsync(context).block();
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDefaultSettingsInner get() {
+ return getWithResponse(Context.NONE).getValue();
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> putWithResponseAsync(
+ AccessReviewScheduleSettings properties) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .put(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ apiVersion,
+ properties,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> putWithResponseAsync(
+ AccessReviewScheduleSettings properties, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .put(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, properties, accept, context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono putAsync(AccessReviewScheduleSettings properties) {
+ return putWithResponseAsync(properties).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context) {
+ return putWithResponseAsync(properties, context).block();
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties) {
+ return putWithResponse(properties, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java
new file mode 100644
index 0000000000000..5ed28085c0b9c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java
@@ -0,0 +1,83 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations;
+
+public final class AccessReviewDefaultSettingsOperationsImpl implements AccessReviewDefaultSettingsOperations {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewDefaultSettingsOperationsImpl.class);
+
+ private final AccessReviewDefaultSettingsOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewDefaultSettingsOperationsImpl(
+ AccessReviewDefaultSettingsOperationsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(Context context) {
+ Response inner = this.serviceClient().getWithResponse(context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewDefaultSettings get() {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().get();
+ if (inner != null) {
+ return new AccessReviewDefaultSettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context) {
+ Response inner = this.serviceClient().putWithResponse(properties, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties) {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().put(properties);
+ if (inner != null) {
+ return new AccessReviewDefaultSettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AccessReviewDefaultSettingsOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java
new file mode 100644
index 0000000000000..d9e1f493b9cf7
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionImpl.java
@@ -0,0 +1,230 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScope;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import java.time.OffsetDateTime;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class AccessReviewHistoryDefinitionImpl
+ implements AccessReviewHistoryDefinition, AccessReviewHistoryDefinition.Definition {
+ private AccessReviewHistoryDefinitionInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewHistoryDefinitionImpl(
+ AccessReviewHistoryDefinitionInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String displayName() {
+ return this.innerModel().displayName();
+ }
+
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.innerModel().reviewHistoryPeriodStartDateTime();
+ }
+
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.innerModel().reviewHistoryPeriodEndDateTime();
+ }
+
+ public List decisions() {
+ List inner = this.innerModel().decisions();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.innerModel().status();
+ }
+
+ public OffsetDateTime createdDateTime() {
+ return this.innerModel().createdDateTime();
+ }
+
+ public List scopes() {
+ List inner = this.innerModel().scopes();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List instances() {
+ List inner = this.innerModel().instances();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public String principalId() {
+ return this.innerModel().principalId();
+ }
+
+ public AccessReviewActorIdentityType principalType() {
+ return this.innerModel().principalType();
+ }
+
+ public String principalName() {
+ return this.innerModel().principalName();
+ }
+
+ public String userPrincipalName() {
+ return this.innerModel().userPrincipalName();
+ }
+
+ public AccessReviewRecurrencePatternType typePropertiesType() {
+ return this.innerModel().typePropertiesType();
+ }
+
+ public Integer interval() {
+ return this.innerModel().interval();
+ }
+
+ public AccessReviewRecurrenceRangeType typeRangeType() {
+ return this.innerModel().typeRangeType();
+ }
+
+ public Integer numberOfOccurrences() {
+ return this.innerModel().numberOfOccurrences();
+ }
+
+ public OffsetDateTime startDate() {
+ return this.innerModel().startDate();
+ }
+
+ public OffsetDateTime endDate() {
+ return this.innerModel().endDate();
+ }
+
+ public AccessReviewHistoryDefinitionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+
+ private String historyDefinitionId;
+
+ private AccessReviewHistoryDefinitionProperties createProperties;
+
+ public AccessReviewHistoryDefinition create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewHistoryDefinitionOperations()
+ .createWithResponse(historyDefinitionId, createProperties, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AccessReviewHistoryDefinition create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewHistoryDefinitionOperations()
+ .createWithResponse(historyDefinitionId, createProperties, context)
+ .getValue();
+ return this;
+ }
+
+ AccessReviewHistoryDefinitionImpl(
+ String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = new AccessReviewHistoryDefinitionInner();
+ this.serviceManager = serviceManager;
+ this.historyDefinitionId = name;
+ this.createProperties = new AccessReviewHistoryDefinitionProperties();
+ }
+
+ public AccessReviewHistoryDefinitionImpl withDisplayName(String displayName) {
+ this.createProperties.withDisplayName(displayName);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withDecisions(List decisions) {
+ this.createProperties.withDecisions(decisions);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withScopes(List scopes) {
+ this.createProperties.withScopes(scopes);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withInstances(List instances) {
+ this.createProperties.withInstances(instances);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withType(AccessReviewRecurrencePatternType type) {
+ this.createProperties.withType(type);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withInterval(Integer interval) {
+ this.createProperties.withInterval(interval);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) {
+ this.createProperties.withTypeRangeType(typeRangeType);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withNumberOfOccurrences(Integer numberOfOccurrences) {
+ this.createProperties.withNumberOfOccurrences(numberOfOccurrences);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withStartDate(OffsetDateTime startDate) {
+ this.createProperties.withStartDate(startDate);
+ return this;
+ }
+
+ public AccessReviewHistoryDefinitionImpl withEndDate(OffsetDateTime endDate) {
+ this.createProperties.withEndDate(endDate);
+ return this;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java
new file mode 100644
index 0000000000000..829988df6ad47
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.java
@@ -0,0 +1,229 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionInstancesClient.
+ */
+public final class AccessReviewHistoryDefinitionInstancesClientImpl
+ implements AccessReviewHistoryDefinitionInstancesClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewHistoryDefinitionInstancesService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewHistoryDefinitionInstancesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewHistoryDefinitionInstancesClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewHistoryDefinitionInstancesService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitionInstances
+ * to be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewHistoryDefinitionInstancesService {
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions"
+ + "/{historyDefinitionId}/instances/{instanceId}/generateDownloadUri")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> generateDownloadUri(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("historyDefinitionId") String historyDefinitionId,
+ @PathParam("instanceId") String instanceId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> generateDownloadUriWithResponseAsync(
+ String historyDefinitionId, String instanceId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (instanceId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .generateDownloadUri(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ instanceId,
+ apiVersion,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> generateDownloadUriWithResponseAsync(
+ String historyDefinitionId, String instanceId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (instanceId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter instanceId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .generateDownloadUri(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ instanceId,
+ apiVersion,
+ accept,
+ context);
+ }
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono generateDownloadUriAsync(
+ String historyDefinitionId, String instanceId) {
+ return generateDownloadUriWithResponseAsync(historyDefinitionId, instanceId)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response generateDownloadUriWithResponse(
+ String historyDefinitionId, String instanceId, Context context) {
+ return generateDownloadUriWithResponseAsync(historyDefinitionId, instanceId, context).block();
+ }
+
+ /**
+ * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and can be
+ * retrieved by fetching the accessReviewHistoryDefinition object.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param instanceId The id of the access review history definition instance to generate a URI for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewHistoryInstanceInner generateDownloadUri(String historyDefinitionId, String instanceId) {
+ return generateDownloadUriWithResponse(historyDefinitionId, instanceId, Context.NONE).getValue();
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.java
new file mode 100644
index 0000000000000..4c4d018d2e513
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesImpl.java
@@ -0,0 +1,62 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstances;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance;
+
+public final class AccessReviewHistoryDefinitionInstancesImpl implements AccessReviewHistoryDefinitionInstances {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionInstancesImpl.class);
+
+ private final AccessReviewHistoryDefinitionInstancesClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewHistoryDefinitionInstancesImpl(
+ AccessReviewHistoryDefinitionInstancesClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response generateDownloadUriWithResponse(
+ String historyDefinitionId, String instanceId, Context context) {
+ Response inner =
+ this.serviceClient().generateDownloadUriWithResponse(historyDefinitionId, instanceId, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewHistoryInstanceImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewHistoryInstance generateDownloadUri(String historyDefinitionId, String instanceId) {
+ AccessReviewHistoryInstanceInner inner =
+ this.serviceClient().generateDownloadUri(historyDefinitionId, instanceId);
+ if (inner != null) {
+ return new AccessReviewHistoryInstanceImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AccessReviewHistoryDefinitionInstancesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java
new file mode 100644
index 0000000000000..712d62b8e1aac
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java
@@ -0,0 +1,336 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesOperationsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstanceListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionInstancesOperationsClient.
+ */
+public final class AccessReviewHistoryDefinitionInstancesOperationsClientImpl
+ implements AccessReviewHistoryDefinitionInstancesOperationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewHistoryDefinitionInstancesOperationsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewHistoryDefinitionInstancesOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewHistoryDefinitionInstancesOperationsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewHistoryDefinitionInstancesOperationsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for
+ * AuthorizationManagementClientAccessReviewHistoryDefinitionInstancesOperations to be used by the proxy service to
+ * perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewHistoryDefinitionInstancesOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions"
+ + "/{historyDefinitionId}/instances")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(String historyDefinitionId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String historyDefinitionId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String historyDefinitionId) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(historyDefinitionId), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String historyDefinitionId, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(historyDefinitionId, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String historyDefinitionId) {
+ return new PagedIterable<>(listAsync(historyDefinitionId));
+ }
+
+ /**
+ * Get access review history definition instances by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition instances by definition Id as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String historyDefinitionId, Context context) {
+ return new PagedIterable<>(listAsync(historyDefinitionId, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Instances along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Instances along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.java
new file mode 100644
index 0000000000000..cbf1260caa6e8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsImpl.java
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionInstancesOperationsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionInstancesOperations;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance;
+
+public final class AccessReviewHistoryDefinitionInstancesOperationsImpl
+ implements AccessReviewHistoryDefinitionInstancesOperations {
+ private static final ClientLogger LOGGER =
+ new ClientLogger(AccessReviewHistoryDefinitionInstancesOperationsImpl.class);
+
+ private final AccessReviewHistoryDefinitionInstancesOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewHistoryDefinitionInstancesOperationsImpl(
+ AccessReviewHistoryDefinitionInstancesOperationsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(String historyDefinitionId) {
+ PagedIterable inner = this.serviceClient().list(historyDefinitionId);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(String historyDefinitionId, Context context) {
+ PagedIterable inner = this.serviceClient().list(historyDefinitionId, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryInstanceImpl(inner1, this.manager()));
+ }
+
+ private AccessReviewHistoryDefinitionInstancesOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java
new file mode 100644
index 0000000000000..cb36a67f67584
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java
@@ -0,0 +1,370 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionOperationsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionProperties;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewHistoryDefinitionOperationsClient.
+ */
+public final class AccessReviewHistoryDefinitionOperationsClientImpl
+ implements AccessReviewHistoryDefinitionOperationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewHistoryDefinitionOperationsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewHistoryDefinitionOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewHistoryDefinitionOperationsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewHistoryDefinitionOperationsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitionOperations
+ * to be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewHistoryDefinitionOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions"
+ + "/{historyDefinitionId}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") AccessReviewHistoryDefinitionProperties properties,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions"
+ + "/{historyDefinitionId}")
+ @ExpectedResponses({200, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> deleteById(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ properties,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ properties,
+ accept,
+ context);
+ }
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) {
+ return createWithResponseAsync(historyDefinitionId, properties)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties, Context context) {
+ return createWithResponseAsync(historyDefinitionId, properties, context).block();
+ }
+
+ /**
+ * Create a scheduled or one-time Access Review History Definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param properties Access review history definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review History Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewHistoryDefinitionInner create(
+ String historyDefinitionId, AccessReviewHistoryDefinitionProperties properties) {
+ return createWithResponse(historyDefinitionId, properties, Context.NONE).getValue();
+ }
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteByIdWithResponseAsync(String historyDefinitionId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .deleteById(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteByIdWithResponseAsync(String historyDefinitionId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .deleteById(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context);
+ }
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteByIdAsync(String historyDefinitionId) {
+ return deleteByIdWithResponseAsync(historyDefinitionId).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteByIdWithResponse(String historyDefinitionId, Context context) {
+ return deleteByIdWithResponseAsync(historyDefinitionId, context).block();
+ }
+
+ /**
+ * Delete an access review history definition.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void deleteById(String historyDefinitionId) {
+ deleteByIdWithResponse(historyDefinitionId, Context.NONE);
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.java
new file mode 100644
index 0000000000000..264cdc501ff80
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsImpl.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionOperationsClient;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionOperations;
+
+public final class AccessReviewHistoryDefinitionOperationsImpl implements AccessReviewHistoryDefinitionOperations {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionOperationsImpl.class);
+
+ private final AccessReviewHistoryDefinitionOperationsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewHistoryDefinitionOperationsImpl(
+ AccessReviewHistoryDefinitionOperationsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response deleteByIdWithResponse(String historyDefinitionId, Context context) {
+ return this.serviceClient().deleteByIdWithResponse(historyDefinitionId, context);
+ }
+
+ public void deleteById(String historyDefinitionId) {
+ this.serviceClient().deleteById(historyDefinitionId);
+ }
+
+ private AccessReviewHistoryDefinitionOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+
+ public AccessReviewHistoryDefinitionImpl define(String name) {
+ return new AccessReviewHistoryDefinitionImpl(name, this.manager());
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java
new file mode 100644
index 0000000000000..8ec9311ab91bc
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsClientImpl.java
@@ -0,0 +1,480 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewHistoryDefinitionsClient. */
+public final class AccessReviewHistoryDefinitionsClientImpl implements AccessReviewHistoryDefinitionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewHistoryDefinitionsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewHistoryDefinitionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewHistoryDefinitionsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewHistoryDefinitionsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewHistoryDefinitions to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewHistoryDefinitionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam(value = "$filter", encoded = true) String filter,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions"
+ + "/{historyDefinitionId}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getById(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(String filter) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ apiVersion,
+ filter,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String filter, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, filter, accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String filter) {
+ return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ final String filter = null;
+ return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String filter, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ final String filter = null;
+ return new PagedIterable<>(listAsync(filter));
+ }
+
+ /**
+ * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only available
+ * for 30 days after creation.
+ *
+ * @param filter The filter to apply on the operation. Only standard filters on definition name and created date are
+ * supported.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String filter, Context context) {
+ return new PagedIterable<>(listAsync(filter, context));
+ }
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByIdWithResponseAsync(String historyDefinitionId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getById(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByIdWithResponseAsync(
+ String historyDefinitionId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getById(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ historyDefinitionId,
+ apiVersion,
+ accept,
+ context);
+ }
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByIdAsync(String historyDefinitionId) {
+ return getByIdWithResponseAsync(historyDefinitionId).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByIdWithResponse(
+ String historyDefinitionId, Context context) {
+ return getByIdWithResponseAsync(historyDefinitionId, context).block();
+ }
+
+ /**
+ * Get access review history definition by definition Id.
+ *
+ * @param historyDefinitionId The id of the access review history definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review history definition by definition Id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewHistoryDefinitionInner getById(String historyDefinitionId) {
+ return getByIdWithResponse(historyDefinitionId, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review History Definitions along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.java
new file mode 100644
index 0000000000000..f3436c15aa834
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionsImpl.java
@@ -0,0 +1,71 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewHistoryDefinitionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryDefinitionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinition;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitions;
+
+public final class AccessReviewHistoryDefinitionsImpl implements AccessReviewHistoryDefinitions {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewHistoryDefinitionsImpl.class);
+
+ private final AccessReviewHistoryDefinitionsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewHistoryDefinitionsImpl(
+ AccessReviewHistoryDefinitionsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(String filter, Context context) {
+ PagedIterable inner = this.serviceClient().list(filter, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewHistoryDefinitionImpl(inner1, this.manager()));
+ }
+
+ public Response getByIdWithResponse(String historyDefinitionId, Context context) {
+ Response inner =
+ this.serviceClient().getByIdWithResponse(historyDefinitionId, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewHistoryDefinitionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewHistoryDefinition getById(String historyDefinitionId) {
+ AccessReviewHistoryDefinitionInner inner = this.serviceClient().getById(historyDefinitionId);
+ if (inner != null) {
+ return new AccessReviewHistoryDefinitionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AccessReviewHistoryDefinitionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java
new file mode 100644
index 0000000000000..214c86e05bb7d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryInstanceImpl.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewHistoryInstanceInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryDefinitionStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewHistoryInstance;
+import java.time.OffsetDateTime;
+
+public final class AccessReviewHistoryInstanceImpl implements AccessReviewHistoryInstance {
+ private AccessReviewHistoryInstanceInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewHistoryInstanceImpl(
+ AccessReviewHistoryInstanceInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public OffsetDateTime reviewHistoryPeriodStartDateTime() {
+ return this.innerModel().reviewHistoryPeriodStartDateTime();
+ }
+
+ public OffsetDateTime reviewHistoryPeriodEndDateTime() {
+ return this.innerModel().reviewHistoryPeriodEndDateTime();
+ }
+
+ public String displayName() {
+ return this.innerModel().displayName();
+ }
+
+ public AccessReviewHistoryDefinitionStatus status() {
+ return this.innerModel().status();
+ }
+
+ public OffsetDateTime runDateTime() {
+ return this.innerModel().runDateTime();
+ }
+
+ public OffsetDateTime fulfilledDateTime() {
+ return this.innerModel().fulfilledDateTime();
+ }
+
+ public String downloadUri() {
+ return this.innerModel().downloadUri();
+ }
+
+ public OffsetDateTime expiration() {
+ return this.innerModel().expiration();
+ }
+
+ public AccessReviewHistoryInstanceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java
new file mode 100644
index 0000000000000..91b28b1eebc49
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java
@@ -0,0 +1,351 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceContactedReviewersClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewerListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewInstanceContactedReviewersClient.
+ */
+public final class AccessReviewInstanceContactedReviewersClientImpl
+ implements AccessReviewInstanceContactedReviewersClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewInstanceContactedReviewersService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewInstanceContactedReviewersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewInstanceContactedReviewersClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewInstanceContactedReviewersService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceContactedReviewers
+ * to be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ public interface AccessReviewInstanceContactedReviewersService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/contactedReviewers")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ final String apiVersion = "2021-12-01-preview";
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ scheduleDefinitionId,
+ id,
+ apiVersion,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String scheduleDefinitionId, String id, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String scheduleDefinitionId, String id, Context context) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ * The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono