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 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;
+ }
+
+ /**
+ * @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..38d659404aac5
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java
@@ -0,0 +1,66 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * AccessReviewDefaultSettingsOperationsClient.
+ */
+public interface AccessReviewDefaultSettingsOperationsClient {
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner get();
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(Context context);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties);
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/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..bc7ecc6e83027
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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);
+
+ /**
+ * 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);
+}
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..ae1768fedebf7
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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..7680d62734df2
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown 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);
+
+ /**
+ * 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);
+}
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..ac3b57134c839
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId);
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, Context context);
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewDecisionInner patch(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties);
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response patchWithResponse(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java
new file mode 100644
index 0000000000000..13c539519c073
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */
+public interface AccessReviewInstanceOperationsClient {
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void resetDecisions(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void applyDecisions(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void sendReminders(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context);
+
+ /**
+ * An action to accept recommendations for decision in an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void acceptRecommendations(String scheduleDefinitionId, String id);
+
+ /**
+ * An action to accept recommendations for decision in an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java
new file mode 100644
index 0000000000000..04b0e71eca7b9
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review instance assigned for my approval.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner getById(String scheduleDefinitionId, String id);
+
+ /**
+ * Get single access review instance assigned for my approval.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review instance assigned for my approval along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java
new file mode 100644
index 0000000000000..7fff69d01378f
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewInstanceInner getById(String scheduleDefinitionId, String id);
+
+ /**
+ * Get access review instances.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instances along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, String id, 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);
+
+ /**
+ * 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);
+}
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..3caec01706baf
--- /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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId);
+
+ /**
+ * Get single access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single access review definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByIdWithResponse(String scheduleDefinitionId, Context context);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteById(String scheduleDefinitionId);
+
+ /**
+ * Delete access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteByIdWithResponse(String scheduleDefinitionId, Context context);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessReviewScheduleDefinitionInner createOrUpdateById(
+ String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties);
+
+ /**
+ * Create or Update access review schedule definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param properties Access review schedule definition properties.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review Schedule Definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateByIdWithResponse(
+ String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String scheduleDefinitionId);
+
+ /**
+ * Stop access review definition.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response stopWithResponse(String scheduleDefinitionId, Context context);
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java
new file mode 100644
index 0000000000000..f5f4a7422508b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java
@@ -0,0 +1,152 @@
+// Copyright (c) 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 Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the 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 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();
+}
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/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..9af205e0834ab
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.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;
+
+ /**
+ * 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..35c8b40137017
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerInner.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.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review Contacted Reviewer. */
+@Fluent
+public final class AccessReviewContactedReviewerInner extends ProxyResource {
+ /*
+ * Access Review Contacted Reviewer properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewContactedReviewerProperties innerProperties;
+
+ /**
+ * 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..ac0a4acf7adbc
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewContactedReviewerProperties.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.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;
+
+ /**
+ * 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/AccessReviewDecisionIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionIdentity.java
new file mode 100644
index 0000000000000..c0b3f00cce3f1
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionIdentity.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionServicePrincipalIdentity;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionUserIdentity;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Target of the decision. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "type",
+ defaultImpl = AccessReviewDecisionIdentity.class)
+@JsonTypeName("AccessReviewDecisionIdentity")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "user", value = AccessReviewDecisionUserIdentity.class),
+ @JsonSubTypes.Type(name = "servicePrincipal", value = AccessReviewDecisionServicePrincipalIdentity.class)
+})
+@Immutable
+public class AccessReviewDecisionIdentity {
+ /*
+ * The id of principal whose access was reviewed.
+ */
+ @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY)
+ private String id;
+
+ /*
+ * The display name of the user whose access was reviewed.
+ */
+ @JsonProperty(value = "displayName", access = JsonProperty.Access.WRITE_ONLY)
+ private String displayName;
+
+ /**
+ * Get the id property: The id of principal whose access was reviewed.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the displayName property: The display name of the user whose access was reviewed.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.displayName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/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..16671b226c96c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java
@@ -0,0 +1,238 @@
+// Copyright (c) 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.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** Access Review. */
+@Fluent
+public final class AccessReviewDecisionInner extends ProxyResource {
+ /*
+ * Access Review Decision properties.
+ */
+ @JsonProperty(value = "properties")
+ private AccessReviewDecisionProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Access Review Decision properties.
+ *
+ * @return the innerProperties value.
+ */
+ private AccessReviewDecisionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the recommendation property: The feature- generated recommendation shown to the reviewer.
+ *
+ * @return the recommendation value.
+ */
+ public AccessRecommendationType recommendation() {
+ return this.innerProperties() == null ? null : this.innerProperties().recommendation();
+ }
+
+ /**
+ * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @return the decision value.
+ */
+ public AccessReviewResult decision() {
+ return this.innerProperties() == null ? null : this.innerProperties().decision();
+ }
+
+ /**
+ * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed.
+ * Approvers can take action of Approve/Deny.
+ *
+ * @param decision the decision value to set.
+ * @return the AccessReviewDecisionInner object itself.
+ */
+ public AccessReviewDecisionInner withDecision(AccessReviewResult decision) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewDecisionProperties();
+ }
+ this.innerProperties().withDecision(decision);
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification provided by approvers for their action.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.innerProperties() == null ? null : this.innerProperties().justification();
+ }
+
+ /**
+ * Set the justification property: Justification provided by approvers for their action.
+ *
+ * @param justification the justification value to set.
+ * @return the AccessReviewDecisionInner object itself.
+ */
+ public AccessReviewDecisionInner withJustification(String justification) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AccessReviewDecisionProperties();
+ }
+ this.innerProperties().withJustification(justification);
+ return this;
+ }
+
+ /**
+ * Get the reviewedDateTime property: Date Time when a decision was taken.
+ *
+ * @return the reviewedDateTime value.
+ */
+ public OffsetDateTime reviewedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().reviewedDateTime();
+ }
+
+ /**
+ * Get the applyResult property: The outcome of applying the decision.
+ *
+ * @return the applyResult value.
+ */
+ public AccessReviewApplyResult applyResult() {
+ return this.innerProperties() == null ? null : this.innerProperties().applyResult();
+ }
+
+ /**
+ * Get the appliedDateTime property: The date and time when the review decision was applied.
+ *
+ * @return the appliedDateTime value.
+ */
+ public OffsetDateTime appliedDateTime() {
+ return this.innerProperties() == null ? null : this.innerProperties().appliedDateTime();
+ }
+
+ /**
+ * Get the id property: The id of principal whose access was reviewed.
+ *
+ * @return the id value.
+ */
+ public String idPropertiesId() {
+ return this.innerProperties() == null ? null : this.innerProperties().id();
+ }
+
+ /**
+ * Get the displayName property: The display name of the user whose access was reviewed.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayName();
+ }
+
+ /**
+ * Get the idResourceId property: The id of resource associated with a decision record.
+ *
+ * @return the idResourceId value.
+ */
+ public String idResourceId() {
+ return this.innerProperties() == null ? null : this.innerProperties().idResourceId();
+ }
+
+ /**
+ * Get the displayNameResourceDisplayName property: The display name of resource associated with a decision record.
+ *
+ * @return the displayNameResourceDisplayName value.
+ */
+ public String displayNameResourceDisplayName() {
+ return this.innerProperties() == null ? null : this.innerProperties().displayNameResourceDisplayName();
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java
new file mode 100644
index 0000000000000..76f000a68ab60
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java
@@ -0,0 +1,323 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.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.AccessReviewResult;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.time.OffsetDateTime;
+
+/** 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 innerPrincipal;
+
+ /*
+ * 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;
+
+ /**
+ * Get the innerPrincipal property: Principal associated with the decision record. Can be
+ * AccessReviewDecisionUserIdentity or AccessReviewDecisionServicePrincipalIdentity.
+ *
+ * @return the innerPrincipal value.
+ */
+ private AccessReviewDecisionIdentity innerPrincipal() {
+ return this.innerPrincipal;
+ }
+
+ /**
+ * 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 id property: The id of principal whose access was reviewed.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.innerPrincipal() == null ? null : this.innerPrincipal().id();
+ }
+
+ /**
+ * Get the displayName property: The display name of the user whose access was reviewed.
+ *
+ * @return the displayName value.
+ */
+ public String displayName() {
+ return this.innerPrincipal() == null ? null : this.innerPrincipal().displayName();
+ }
+
+ /**
+ * Get the id property: The id of resource associated with a decision record.
+ *
+ * @return the id value.
+ */
+ public String idResourceId() {
+ 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 displayNameResourceDisplayName() {
+ 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();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerPrincipal() != null) {
+ innerPrincipal().validate();
+ }
+ if (innerResource() != null) {
+ innerResource().validate();
+ }
+ if (innerReviewedBy() != null) {
+ innerReviewedBy().validate();
+ }
+ if (innerAppliedBy() != null) {
+ innerAppliedBy().validate();
+ }
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/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..753e74d7d39c3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java
@@ -0,0 +1,61 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionResourceAzureRole;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Target of the decision. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "type",
+ defaultImpl = AccessReviewDecisionResource.class)
+@JsonTypeName("AccessReviewDecisionResource")
+@JsonSubTypes({@JsonSubTypes.Type(name = "azureRole", value = AccessReviewDecisionResourceAzureRole.class)})
+@Immutable
+public class AccessReviewDecisionResource {
+ /*
+ * 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;
+
+ /**
+ * 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() {
+ }
+}
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..7c281d154b5c2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java
@@ -0,0 +1,423 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..ba184e5e7a38c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryDefinitionInner.java
@@ -0,0 +1,361 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..7458711a0cd66
--- /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;
+
+ /**
+ * 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..9d472fe664617
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceInner.java
@@ -0,0 +1,207 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.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;
+
+ /**
+ * 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..764278797c894
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryInstanceProperties.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.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;
+
+ /**
+ * 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..94e38abb6f7e2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewHistoryScheduleSettings.java
@@ -0,0 +1,203 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.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;
+
+ /**
+ * 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..e10bc15c5eec6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java
@@ -0,0 +1,156 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..f6d363d4263b5
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java
@@ -0,0 +1,170 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..49acbc633e5e3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.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;
+
+ /**
+ * 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..00f8d4076f938
--- /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;
+
+ /**
+ * 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..8b208080ae00b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java
@@ -0,0 +1,203 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.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;
+
+ /**
+ * 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..c95cb9c70d04b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java
@@ -0,0 +1,684 @@
+// Copyright (c) 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;
+
+ /**
+ * 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();
+ }
+
+ /**
+ * 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..c9502e74d74ff
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java
@@ -0,0 +1,797 @@
+// Copyright (c) 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;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * 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..d2598a31a76a2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java
@@ -0,0 +1,462 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..cc2ea37c79719
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.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.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;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java
new file mode 100644
index 0000000000000..22b440910482b
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) 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;
+
+ /**
+ * 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..852ff4a78e0b3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult;
+import java.time.OffsetDateTime;
+
+public final class AccessReviewDecisionImpl implements AccessReviewDecision {
+ private AccessReviewDecisionInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewDecisionImpl(
+ AccessReviewDecisionInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AccessRecommendationType recommendation() {
+ return this.innerModel().recommendation();
+ }
+
+ public AccessReviewResult decision() {
+ return this.innerModel().decision();
+ }
+
+ public String justification() {
+ return this.innerModel().justification();
+ }
+
+ public OffsetDateTime reviewedDateTime() {
+ return this.innerModel().reviewedDateTime();
+ }
+
+ public AccessReviewApplyResult applyResult() {
+ return this.innerModel().applyResult();
+ }
+
+ public OffsetDateTime appliedDateTime() {
+ return this.innerModel().appliedDateTime();
+ }
+
+ public String idPropertiesId() {
+ return this.innerModel().idPropertiesId();
+ }
+
+ public String displayName() {
+ return this.innerModel().displayName();
+ }
+
+ public String idResourceId() {
+ return this.innerModel().idResourceId();
+ }
+
+ public String displayNameResourceDisplayName() {
+ return this.innerModel().displayNameResourceDisplayName();
+ }
+
+ 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 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..ac9f4ccecd158
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java
@@ -0,0 +1,329 @@
+// Copyright (c) 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")
+ private interface AccessReviewDefaultSettingsOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> put(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") AccessReviewScheduleSettings properties,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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 accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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 accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDefaultSettingsInner get() {
+ return getAsync().block();
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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.
+ *
+ * @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 accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .put(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ properties,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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 accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .put(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ properties,
+ accept,
+ context);
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties) {
+ return putAsync(properties).block();
+ }
+
+ /**
+ * Get access review default settings for the subscription.
+ *
+ * @param properties Access review schedule settings.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review default settings for the subscription along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context) {
+ return putWithResponseAsync(properties, context).block();
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java
new file mode 100644
index 0000000000000..6db5ffb3ab00c
--- /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 AccessReviewDefaultSettings get() {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().get();
+ if (inner != null) {
+ return new AccessReviewDefaultSettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(Context context) {
+ Response inner = this.serviceClient().getWithResponse(context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties) {
+ AccessReviewDefaultSettingsInner inner = this.serviceClient().put(properties);
+ if (inner != null) {
+ return new AccessReviewDefaultSettingsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response putWithResponse(
+ AccessReviewScheduleSettings properties, Context context) {
+ Response inner = this.serviceClient().putWithResponse(properties, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private AccessReviewDefaultSettingsOperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/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..281675fd6623c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesClientImpl.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.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")
+ private 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("historyDefinitionId") String historyDefinitionId,
+ @PathParam("instanceId") String instanceId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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 (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."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .generateDownloadUri(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ instanceId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 (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."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .generateDownloadUri(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ instanceId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown 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 generateDownloadUriAsync(historyDefinitionId, instanceId).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.
+ * @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();
+ }
+}
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..b277699bf63de
--- /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 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;
+ }
+ }
+
+ 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;
+ }
+ }
+
+ 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..0ecdb1115c91c
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionInstancesOperationsClientImpl.java
@@ -0,0 +1,332 @@
+// Copyright (c) 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")
+ private 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("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get access review 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 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 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..c4d411c96585d
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewHistoryDefinitionOperationsClientImpl.java
@@ -0,0 +1,366 @@
+// Copyright (c) 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")
+ private 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("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId 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 accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId 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 accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown 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 createAsync(historyDefinitionId, properties).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.
+ * @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();
+ }
+
+ /**
+ * 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .deleteById(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .deleteById(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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) {
+ deleteByIdAsync(historyDefinitionId).block();
+ }
+
+ /**
+ * 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();
+ }
+}
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..3b14cc02610c8
--- /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 void deleteById(String historyDefinitionId) {
+ this.serviceClient().deleteById(historyDefinitionId);
+ }
+
+ public Response deleteByIdWithResponse(String historyDefinitionId, Context context) {
+ return this.serviceClient().deleteByIdWithResponse(historyDefinitionId, context);
+ }
+
+ 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..d9995d868b976
--- /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")
+ private 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,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @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("historyDefinitionId") String historyDefinitionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * 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 accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getById(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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 (historyDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter historyDefinitionId is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getById(
+ this.client.getEndpoint(),
+ historyDefinitionId,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown 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 getByIdAsync(historyDefinitionId).block();
+ }
+
+ /**
+ * 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 the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Access Review 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 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..cdfa5d487a81f
--- /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 AccessReviewHistoryDefinition getById(String historyDefinitionId) {
+ AccessReviewHistoryDefinitionInner inner = this.serviceClient().getById(historyDefinitionId);
+ if (inner != null) {
+ return new AccessReviewHistoryDefinitionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ 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;
+ }
+ }
+
+ 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..c19e8e86fa0b6
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersClientImpl.java
@@ -0,0 +1,347 @@
+// Copyright (c) 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")
+ private 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("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review instance contacted reviewers.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get access review instance 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 nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review contacted reviewers along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.java
new file mode 100644
index 0000000000000..2c1ffa889fcd2
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceContactedReviewersImpl.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceContactedReviewersClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewContactedReviewerInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewContactedReviewer;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceContactedReviewers;
+
+public final class AccessReviewInstanceContactedReviewersImpl implements AccessReviewInstanceContactedReviewers {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceContactedReviewersImpl.class);
+
+ private final AccessReviewInstanceContactedReviewersClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewInstanceContactedReviewersImpl(
+ AccessReviewInstanceContactedReviewersClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(String scheduleDefinitionId, String id, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(scheduleDefinitionId, id, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewContactedReviewerImpl(inner1, this.manager()));
+ }
+
+ private AccessReviewInstanceContactedReviewersClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java
new file mode 100644
index 0000000000000..b53592e1dd5d4
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java
@@ -0,0 +1,378 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */
+public final class AccessReviewInstanceDecisionsClientImpl implements AccessReviewInstanceDecisionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewInstanceDecisionsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewInstanceDecisionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewInstanceDecisionsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewInstanceDecisionsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceDecisions to be used
+ * by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ private interface AccessReviewInstanceDecisionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/decisions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam(value = "$filter", encoded = true) String filter,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, String filter) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ filter,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ filter,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id, String filter) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id) {
+ final String filter = null;
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ final String filter = null;
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter));
+ }
+
+ /**
+ * Get access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter, context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java
new file mode 100644
index 0000000000000..c34194624a1f3
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java
@@ -0,0 +1,48 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions;
+
+public final class AccessReviewInstanceDecisionsImpl implements AccessReviewInstanceDecisions {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceDecisionsImpl.class);
+
+ private final AccessReviewInstanceDecisionsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewInstanceDecisionsImpl(
+ AccessReviewInstanceDecisionsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(scheduleDefinitionId, id, filter, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager()));
+ }
+
+ private AccessReviewInstanceDecisionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java
new file mode 100644
index 0000000000000..2ce04afee32ba
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java
@@ -0,0 +1,162 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceProperties;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceReviewersType;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer;
+import java.time.OffsetDateTime;
+import java.util.Collections;
+import java.util.List;
+
+public final class AccessReviewInstanceImpl implements AccessReviewInstance, AccessReviewInstance.Definition {
+ private AccessReviewInstanceInner innerObject;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ AccessReviewInstanceImpl(
+ AccessReviewInstanceInner innerObject,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public AccessReviewInstanceStatus status() {
+ return this.innerModel().status();
+ }
+
+ public OffsetDateTime startDateTime() {
+ return this.innerModel().startDateTime();
+ }
+
+ public OffsetDateTime endDateTime() {
+ return this.innerModel().endDateTime();
+ }
+
+ public List reviewers() {
+ List inner = this.innerModel().reviewers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List backupReviewers() {
+ List inner = this.innerModel().backupReviewers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public AccessReviewInstanceReviewersType reviewersType() {
+ return this.innerModel().reviewersType();
+ }
+
+ public AccessReviewInstanceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+
+ private String scheduleDefinitionId;
+
+ private String id;
+
+ private AccessReviewInstanceProperties createProperties;
+
+ public AccessReviewInstanceImpl withExistingAccessReviewScheduleDefinition(String scheduleDefinitionId) {
+ this.scheduleDefinitionId = scheduleDefinitionId;
+ return this;
+ }
+
+ public AccessReviewInstance create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewInstances()
+ .createWithResponse(scheduleDefinitionId, id, createProperties, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AccessReviewInstance create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewInstances()
+ .createWithResponse(scheduleDefinitionId, id, createProperties, context)
+ .getValue();
+ return this;
+ }
+
+ AccessReviewInstanceImpl(
+ String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerObject = new AccessReviewInstanceInner();
+ this.serviceManager = serviceManager;
+ this.id = name;
+ this.createProperties = new AccessReviewInstanceProperties();
+ }
+
+ public AccessReviewInstance refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewInstances()
+ .getByIdWithResponse(scheduleDefinitionId, id, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public AccessReviewInstance refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getAccessReviewInstances()
+ .getByIdWithResponse(scheduleDefinitionId, id, context)
+ .getValue();
+ return this;
+ }
+
+ public AccessReviewInstanceImpl withStartDateTime(OffsetDateTime startDateTime) {
+ this.createProperties.withStartDateTime(startDateTime);
+ return this;
+ }
+
+ public AccessReviewInstanceImpl withEndDateTime(OffsetDateTime endDateTime) {
+ this.createProperties.withEndDateTime(endDateTime);
+ return this;
+ }
+
+ public AccessReviewInstanceImpl withReviewers(List reviewers) {
+ this.createProperties.withReviewers(reviewers);
+ return this;
+ }
+
+ public AccessReviewInstanceImpl withBackupReviewers(List backupReviewers) {
+ this.createProperties.withBackupReviewers(backupReviewers);
+ return this;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java
new file mode 100644
index 0000000000000..f0d0eeae1e9b8
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java
@@ -0,0 +1,708 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */
+public final class AccessReviewInstanceMyDecisionsClientImpl implements AccessReviewInstanceMyDecisionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewInstanceMyDecisionsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewInstanceMyDecisionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewInstanceMyDecisionsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewInstanceMyDecisionsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceMyDecisions to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ private interface AccessReviewInstanceMyDecisionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}"
+ + "/decisions")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @QueryParam(value = "$filter", encoded = true) String filter,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}"
+ + "/decisions/{decisionId}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getById(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @PathParam("decisionId") String decisionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}"
+ + "/decisions/{decisionId}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> patch(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @PathParam("decisionId") String decisionId,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") AccessReviewDecisionProperties properties,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, String filter) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ filter,
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ filter,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id, String filter) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(String scheduleDefinitionId, String id) {
+ final String filter = null;
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(scheduleDefinitionId, id, filter, context),
+ nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ final String filter = null;
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter));
+ }
+
+ /**
+ * Get my access review instance decisions.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is
+ * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are
+ * assigned to the calling user to review are returned.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my access review instance decisions as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter, context));
+ }
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByIdWithResponseAsync(
+ String scheduleDefinitionId, String id, String decisionId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (decisionId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getById(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ decisionId,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByIdWithResponseAsync(
+ String scheduleDefinitionId, String id, String decisionId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (decisionId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getById(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ decisionId,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByIdAsync(String scheduleDefinitionId, String id, String decisionId) {
+ return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId) {
+ return getByIdAsync(scheduleDefinitionId, id, decisionId).block();
+ }
+
+ /**
+ * Get my single access review instance decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return my single access review instance decision along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, Context context) {
+ return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId, context).block();
+ }
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> patchWithResponseAsync(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (decisionId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .patch(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ decisionId,
+ this.client.getApiVersion(),
+ properties,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> patchWithResponseAsync(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (decisionId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null."));
+ }
+ if (properties == null) {
+ return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null."));
+ } else {
+ properties.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .patch(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ decisionId,
+ this.client.getApiVersion(),
+ properties,
+ accept,
+ context);
+ }
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono patchAsync(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) {
+ return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AccessReviewDecisionInner patch(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) {
+ return patchAsync(scheduleDefinitionId, id, decisionId, properties).block();
+ }
+
+ /**
+ * Record a decision.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param decisionId The id of the decision record.
+ * @param properties Access review decision properties to patch.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return access Review along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response patchWithResponse(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context) {
+ return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review decisions 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 nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of access review decisions along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java
new file mode 100644
index 0000000000000..c0c1db3611b50
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java
@@ -0,0 +1,104 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner;
+import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision;
+import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions;
+
+public final class AccessReviewInstanceMyDecisionsImpl implements AccessReviewInstanceMyDecisions {
+ private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceMyDecisionsImpl.class);
+
+ private final AccessReviewInstanceMyDecisionsClient innerClient;
+
+ private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager;
+
+ public AccessReviewInstanceMyDecisionsImpl(
+ AccessReviewInstanceMyDecisionsClient innerClient,
+ com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list(String scheduleDefinitionId, String id) {
+ PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(
+ String scheduleDefinitionId, String id, String filter, Context context) {
+ PagedIterable inner =
+ this.serviceClient().list(scheduleDefinitionId, id, filter, context);
+ return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager()));
+ }
+
+ public AccessReviewDecision getById(String scheduleDefinitionId, String id, String decisionId) {
+ AccessReviewDecisionInner inner = this.serviceClient().getById(scheduleDefinitionId, id, decisionId);
+ if (inner != null) {
+ return new AccessReviewDecisionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getByIdWithResponse(
+ String scheduleDefinitionId, String id, String decisionId, Context context) {
+ Response inner =
+ this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, decisionId, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDecisionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public AccessReviewDecision patch(
+ String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) {
+ AccessReviewDecisionInner inner = this.serviceClient().patch(scheduleDefinitionId, id, decisionId, properties);
+ if (inner != null) {
+ return new AccessReviewDecisionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response patchWithResponse(
+ String scheduleDefinitionId,
+ String id,
+ String decisionId,
+ AccessReviewDecisionProperties properties,
+ Context context) {
+ Response inner =
+ this.serviceClient().patchWithResponse(scheduleDefinitionId, id, decisionId, properties, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new AccessReviewDecisionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private AccessReviewInstanceMyDecisionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java
new file mode 100644
index 0000000000000..8ce91da9f5177
--- /dev/null
+++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java
@@ -0,0 +1,801 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.authorization.generated.implementation;
+
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */
+public final class AccessReviewInstanceOperationsClientImpl implements AccessReviewInstanceOperationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final AccessReviewInstanceOperationsService service;
+
+ /** The service client containing this operation class. */
+ private final AuthorizationManagementClientImpl client;
+
+ /**
+ * Initializes an instance of AccessReviewInstanceOperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AccessReviewInstanceOperationsClientImpl(AuthorizationManagementClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ AccessReviewInstanceOperationsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceOperations to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AuthorizationManagem")
+ private interface AccessReviewInstanceOperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/stop")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> stop(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/resetDecisions")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> resetDecisions(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/applyDecisions")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> applyDecisions(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions"
+ + "/{scheduleDefinitionId}/instances/{id}/sendReminders")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> sendReminders(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Post(
+ "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}"
+ + "/acceptRecommendations")
+ @ExpectedResponses({204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> acceptRecommendations(
+ @HostParam("$host") String endpoint,
+ @PathParam("scheduleDefinitionId") String scheduleDefinitionId,
+ @PathParam("id") String id,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> stopWithResponseAsync(String scheduleDefinitionId, String id) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .stop(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> stopWithResponseAsync(String scheduleDefinitionId, String id, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .stop(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono stopAsync(String scheduleDefinitionId, String id) {
+ return stopWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void stop(String scheduleDefinitionId, String id) {
+ stopAsync(scheduleDefinitionId, id).block();
+ }
+
+ /**
+ * An action to stop an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response stopWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return stopWithResponseAsync(scheduleDefinitionId, id, context).block();
+ }
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> resetDecisionsWithResponseAsync(String scheduleDefinitionId, String id) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .resetDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> resetDecisionsWithResponseAsync(
+ String scheduleDefinitionId, String id, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .resetDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono resetDecisionsAsync(String scheduleDefinitionId, String id) {
+ return resetDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void resetDecisions(String scheduleDefinitionId, String id) {
+ resetDecisionsAsync(scheduleDefinitionId, id).block();
+ }
+
+ /**
+ * An action to reset all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return resetDecisionsWithResponseAsync(scheduleDefinitionId, id, context).block();
+ }
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> applyDecisionsWithResponseAsync(String scheduleDefinitionId, String id) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .applyDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> applyDecisionsWithResponseAsync(
+ String scheduleDefinitionId, String id, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (scheduleDefinitionId == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null."));
+ }
+ if (id == null) {
+ return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .applyDecisions(
+ this.client.getEndpoint(),
+ scheduleDefinitionId,
+ id,
+ this.client.getApiVersion(),
+ this.client.getSubscriptionId(),
+ accept,
+ context);
+ }
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono applyDecisionsAsync(String scheduleDefinitionId, String id) {
+ return applyDecisionsWithResponseAsync(scheduleDefinitionId, id).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void applyDecisions(String scheduleDefinitionId, String id) {
+ applyDecisionsAsync(scheduleDefinitionId, id).block();
+ }
+
+ /**
+ * An action to apply all decisions for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) {
+ return applyDecisionsWithResponseAsync(scheduleDefinitionId, id, context).block();
+ }
+
+ /**
+ * An action to send reminders for an access review instance.
+ *
+ * @param scheduleDefinitionId The id of the access review schedule definition.
+ * @param id The id of the access review instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono