From b5b45363632927b612c8bab61fd36dd179ee57d3 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Wed, 4 May 2022 23:29:35 +0000 Subject: [PATCH] CodeGen from PR 18909 in Azure/azure-rest-api-specs Merge b9596ea33295f0a1861c5ca0f5023db22d3fe104 into 50ed15bd61ac79f2368d769df0c207a00b9e099f --- eng/versioning/version_client.txt | 1 + pom.xml | 1 + .../CHANGELOG.md | 5 + .../README.md | 102 + .../SAMPLE.md | 2422 ++++++++++++++ .../pom.xml | 55 + .../generated/AuthorizationManager.java | 674 ++++ ...ReviewDefaultSettingsOperationsClient.java | 66 + .../AccessReviewInstanceDecisionsClient.java | 45 + ...AccessReviewInstanceMyDecisionsClient.java | 114 + .../AccessReviewInstanceOperationsClient.java | 143 + ...InstancesAssignedForMyApprovalsClient.java | 73 + .../fluent/AccessReviewInstancesClient.java | 70 + ...finitionsAssignedForMyApprovalsClient.java | 42 + ...AccessReviewScheduleDefinitionsClient.java | 143 + .../fluent/AuthorizationManagementClient.java | 208 ++ .../fluent/DenyAssignmentsClient.java | 222 ++ .../fluent/EligibleChildResourcesClient.java | 45 + .../generated/fluent/OperationsClient.java | 38 + .../generated/fluent/PermissionsClient.java | 83 + .../ProviderOperationsMetadatasClient.java | 65 + .../fluent/RoleAssignmentMetricsClient.java | 36 + ...RoleAssignmentScheduleInstancesClient.java | 77 + .../RoleAssignmentScheduleRequestsClient.java | 148 + .../fluent/RoleAssignmentSchedulesClient.java | 73 + .../fluent/RoleAssignmentsClient.java | 431 +++ .../fluent/RoleDefinitionsClient.java | 159 + ...oleEligibilityScheduleInstancesClient.java | 79 + ...RoleEligibilityScheduleRequestsClient.java | 146 + .../RoleEligibilitySchedulesClient.java | 73 + .../fluent/RoleManagementPoliciesClient.java | 124 + ...RoleManagementPolicyAssignmentsClient.java | 136 + .../models/AccessReviewActorIdentity.java | 81 + .../models/AccessReviewDecisionIdentity.java | 65 + .../models/AccessReviewDecisionInner.java | 238 ++ .../AccessReviewDecisionProperties.java | 323 ++ .../models/AccessReviewDecisionResource.java | 54 + .../AccessReviewDefaultSettingsInner.java | 388 +++ .../models/AccessReviewInstanceInner.java | 96 + .../AccessReviewInstanceProperties.java | 89 + .../models/AccessReviewRecurrencePattern.java | 76 + .../models/AccessReviewRecurrenceRange.java | 134 + .../AccessReviewRecurrenceSettings.java | 203 ++ .../AccessReviewScheduleDefinitionInner.java | 641 ++++ ...essReviewScheduleDefinitionProperties.java | 740 +++++ .../models/AccessReviewScheduleSettings.java | 418 +++ .../fluent/models/AccessReviewScope.java | 116 + .../fluent/models/DenyAssignmentInner.java | 274 ++ .../models/DenyAssignmentProperties.java | 246 ++ .../models/EligibleChildResourceInner.java | 65 + .../fluent/models/OperationInner.java | 128 + .../fluent/models/PermissionInner.java | 125 + .../ProviderOperationsMetadataInner.java | 185 ++ .../fluent/models/RoleAssignmentInner.java | 251 ++ .../RoleAssignmentMetricsResultInner.java | 80 + .../models/RoleAssignmentProperties.java | 301 ++ .../models/RoleAssignmentScheduleInner.java | 465 +++ .../RoleAssignmentScheduleInstanceInner.java | 488 +++ ...eAssignmentScheduleInstanceProperties.java | 483 +++ .../RoleAssignmentScheduleProperties.java | 460 +++ .../RoleAssignmentScheduleRequestInner.java | 421 +++ ...leAssignmentScheduleRequestProperties.java | 468 +++ .../fluent/models/RoleDefinitionInner.java | 199 ++ .../models/RoleDefinitionProperties.java | 154 + .../models/RoleEligibilityScheduleInner.java | 416 +++ .../RoleEligibilityScheduleInstanceInner.java | 391 +++ ...EligibilityScheduleInstanceProperties.java | 373 +++ .../RoleEligibilityScheduleProperties.java | 403 +++ .../RoleEligibilityScheduleRequestInner.java | 397 +++ ...eEligibilityScheduleRequestProperties.java | 442 +++ .../RoleManagementPolicyAssignmentInner.java | 162 + ...eManagementPolicyAssignmentProperties.java | 117 + .../models/RoleManagementPolicyInner.java | 239 ++ .../RoleManagementPolicyProperties.java | 227 ++ .../models/ValidationResponseInner.java | 65 + .../generated/fluent/models/package-info.java | 10 + .../generated/fluent/package-info.java | 10 + .../AccessReviewDecisionImpl.java | 118 + .../AccessReviewDefaultSettingsImpl.java | 101 + ...ewDefaultSettingsOperationsClientImpl.java | 332 ++ ...ssReviewDefaultSettingsOperationsImpl.java | 83 + ...cessReviewInstanceDecisionsClientImpl.java | 380 +++ .../AccessReviewInstanceDecisionsImpl.java | 48 + .../AccessReviewInstanceImpl.java | 55 + ...ssReviewInstanceMyDecisionsClientImpl.java | 707 +++++ .../AccessReviewInstanceMyDecisionsImpl.java | 104 + ...essReviewInstanceOperationsClientImpl.java | 806 +++++ .../AccessReviewInstanceOperationsImpl.java | 74 + ...ancesAssignedForMyApprovalsClientImpl.java | 474 +++ ...ewInstancesAssignedForMyApprovalsImpl.java | 73 + .../AccessReviewInstancesClientImpl.java | 523 +++ .../AccessReviewInstancesImpl.java | 72 + .../AccessReviewScheduleDefinitionImpl.java | 500 +++ ...tionsAssignedForMyApprovalsClientImpl.java | 314 ++ ...DefinitionsAssignedForMyApprovalsImpl.java | 48 + ...ssReviewScheduleDefinitionsClientImpl.java | 939 ++++++ .../AccessReviewScheduleDefinitionsImpl.java | 91 + .../AuthorizationManagementClientBuilder.java | 142 + .../AuthorizationManagementClientImpl.java | 606 ++++ .../implementation/DenyAssignmentImpl.java | 92 + .../DenyAssignmentsClientImpl.java | 1707 ++++++++++ .../implementation/DenyAssignmentsImpl.java | 149 + .../EligibleChildResourceImpl.java | 41 + .../EligibleChildResourcesClientImpl.java | 331 ++ .../EligibleChildResourcesImpl.java | 46 + .../implementation/OperationImpl.java | 46 + .../implementation/OperationsClientImpl.java | 275 ++ .../implementation/OperationsImpl.java | 46 + .../implementation/PermissionImpl.java | 67 + .../implementation/PermissionsClientImpl.java | 698 ++++ .../implementation/PermissionsImpl.java | 80 + .../ProviderOperationsMetadataImpl.java | 67 + ...ProviderOperationsMetadatasClientImpl.java | 457 +++ .../ProviderOperationsMetadatasImpl.java | 72 + .../implementation/RoleAssignmentImpl.java | 200 ++ .../RoleAssignmentMetricsClientImpl.java | 178 ++ .../RoleAssignmentMetricsImpl.java | 60 + .../RoleAssignmentMetricsResultImpl.java | 45 + .../RoleAssignmentScheduleImpl.java | 111 + .../RoleAssignmentScheduleInstanceImpl.java | 115 + ...AssignmentScheduleInstancesClientImpl.java | 504 +++ .../RoleAssignmentScheduleInstancesImpl.java | 73 + .../RoleAssignmentScheduleRequestImpl.java | 248 ++ ...eAssignmentScheduleRequestsClientImpl.java | 856 +++++ .../RoleAssignmentScheduleRequestsImpl.java | 153 + .../RoleAssignmentSchedulesClientImpl.java | 478 +++ .../RoleAssignmentSchedulesImpl.java | 72 + .../RoleAssignmentsClientImpl.java | 2798 +++++++++++++++++ .../implementation/RoleAssignmentsImpl.java | 277 ++ .../implementation/RoleDefinitionImpl.java | 199 ++ .../RoleDefinitionsClientImpl.java | 878 ++++++ .../implementation/RoleDefinitionsImpl.java | 172 + .../RoleEligibilityScheduleImpl.java | 102 + .../RoleEligibilityScheduleInstanceImpl.java | 98 + ...ligibilityScheduleInstancesClientImpl.java | 506 +++ .../RoleEligibilityScheduleInstancesImpl.java | 74 + .../RoleEligibilityScheduleRequestImpl.java | 239 ++ ...EligibilityScheduleRequestsClientImpl.java | 852 +++++ .../RoleEligibilityScheduleRequestsImpl.java | 153 + .../RoleEligibilitySchedulesClientImpl.java | 479 +++ .../RoleEligibilitySchedulesImpl.java | 72 + .../RoleManagementPoliciesClientImpl.java | 727 +++++ .../RoleManagementPoliciesImpl.java | 105 + .../RoleManagementPolicyAssignmentImpl.java | 131 + ...ManagementPolicyAssignmentsClientImpl.java | 788 +++++ .../RoleManagementPolicyAssignmentsImpl.java | 220 ++ .../RoleManagementPolicyImpl.java | 93 + .../generated/implementation/Utils.java | 204 ++ .../ValidationResponseImpl.java | 38 + .../implementation/package-info.java | 10 + .../models/AccessRecommendationType.java | 41 + .../models/AccessReviewActorIdentityType.java | 38 + .../models/AccessReviewApplyResult.java | 51 + .../models/AccessReviewDecision.java | 166 + .../AccessReviewDecisionListResult.java | 77 + ...eviewDecisionServicePrincipalIdentity.java | 42 + .../AccessReviewDecisionUserIdentity.java | 42 + .../models/AccessReviewDefaultSettings.java | 149 + ...AccessReviewDefaultSettingsOperations.java | 55 + .../models/AccessReviewInstance.java | 60 + .../models/AccessReviewInstanceDecisions.java | 39 + .../AccessReviewInstanceListResult.java | 77 + .../AccessReviewInstanceMyDecisions.java | 104 + .../AccessReviewInstanceOperations.java | 131 + .../models/AccessReviewInstanceStatus.java | 65 + .../models/AccessReviewInstances.java | 63 + ...ReviewInstancesAssignedForMyApprovals.java | 63 + .../AccessReviewRecurrencePatternType.java | 38 + .../AccessReviewRecurrenceRangeType.java | 41 + .../generated/models/AccessReviewResult.java | 47 + .../models/AccessReviewReviewer.java | 61 + .../models/AccessReviewReviewerType.java | 38 + .../AccessReviewScheduleDefinition.java | 870 +++++ ...essReviewScheduleDefinitionListResult.java | 77 + ...ReviewScheduleDefinitionReviewersType.java | 42 + .../AccessReviewScheduleDefinitionStatus.java | 66 + .../AccessReviewScheduleDefinitions.java | 110 + ...duleDefinitionsAssignedForMyApprovals.java | 34 + .../AccessReviewScopeAssignmentState.java | 38 + .../AccessReviewScopePrincipalType.java | 41 + .../generated/models/ApprovalMode.java | 44 + .../generated/models/ApprovalSettings.java | 154 + .../generated/models/ApprovalStage.java | 189 ++ .../generated/models/AssignmentType.java | 38 + .../models/DecisionResourceType.java | 35 + .../generated/models/DecisionTargetType.java | 38 + .../generated/models/DefaultDecisionType.java | 41 + .../generated/models/DenyAssignment.java | 97 + .../models/DenyAssignmentListResult.java | 77 + .../models/DenyAssignmentPermission.java | 126 + .../generated/models/DenyAssignments.java | 207 ++ .../models/EligibleChildResource.java | 38 + .../models/EligibleChildResources.java | 40 + .../EligibleChildResourcesListResult.java | 77 + .../generated/models/EnablementRules.java | 41 + .../generated/models/ExpandedProperties.java | 107 + .../models/ExpandedPropertiesPrincipal.java | 124 + .../ExpandedPropertiesRoleDefinition.java | 98 + .../models/ExpandedPropertiesScope.java | 98 + .../generated/models/MemberType.java | 41 + .../models/NotificationDeliveryMechanism.java | 35 + .../generated/models/NotificationLevel.java | 41 + .../generated/models/Operation.java | 45 + .../generated/models/OperationDisplay.java | 80 + .../generated/models/OperationListResult.java | 77 + .../generated/models/Operations.java | 33 + .../generated/models/Permission.java | 46 + .../generated/models/PermissionGetResult.java | 77 + .../generated/models/Permissions.java | 76 + .../models/PolicyAssignmentProperties.java | 107 + .../PolicyAssignmentPropertiesPolicy.java | 91 + ...icyAssignmentPropertiesRoleDefinition.java | 98 + .../PolicyAssignmentPropertiesScope.java | 98 + .../generated/models/PolicyProperties.java | 38 + .../models/PolicyPropertiesScope.java | 98 + .../generated/models/Principal.java | 124 + .../generated/models/PrincipalType.java | 47 + .../generated/models/ProviderOperation.java | 176 ++ .../models/ProviderOperationsMetadata.java | 61 + .../ProviderOperationsMetadataListResult.java | 77 + .../models/ProviderOperationsMetadatas.java | 58 + .../generated/models/RecipientType.java | 41 + .../generated/models/RequestType.java | 59 + .../generated/models/ResourceType.java | 102 + .../generated/models/RoleAssignment.java | 291 ++ .../RoleAssignmentCreateParameters.java | 259 ++ .../models/RoleAssignmentListResult.java | 66 + .../models/RoleAssignmentMetrics.java | 31 + .../models/RoleAssignmentMetricsResult.java | 46 + .../models/RoleAssignmentSchedule.java | 156 + .../RoleAssignmentScheduleInstance.java | 162 + ...eAssignmentScheduleInstanceListResult.java | 77 + .../RoleAssignmentScheduleInstances.java | 70 + .../RoleAssignmentScheduleListResult.java | 77 + .../models/RoleAssignmentScheduleRequest.java | 391 +++ ...leAssignmentScheduleRequestListResult.java | 77 + ...ScheduleRequestPropertiesScheduleInfo.java | 77 + ...questPropertiesScheduleInfoExpiration.java | 99 + ...ntScheduleRequestPropertiesTicketInfo.java | 72 + .../RoleAssignmentScheduleRequests.java | 122 + .../models/RoleAssignmentSchedules.java | 65 + .../generated/models/RoleAssignments.java | 374 +++ .../generated/models/RoleDefinition.java | 267 ++ .../models/RoleDefinitionListResult.java | 77 + .../generated/models/RoleDefinitions.java | 149 + .../models/RoleEligibilitySchedule.java | 141 + .../RoleEligibilityScheduleInstance.java | 133 + ...EligibilityScheduleInstanceListResult.java | 77 + .../RoleEligibilityScheduleInstances.java | 70 + .../RoleEligibilityScheduleListResult.java | 77 + .../RoleEligibilityScheduleRequest.java | 369 +++ ...eEligibilityScheduleRequestListResult.java | 77 + ...ScheduleRequestPropertiesScheduleInfo.java | 77 + ...questPropertiesScheduleInfoExpiration.java | 99 + ...tyScheduleRequestPropertiesTicketInfo.java | 72 + .../RoleEligibilityScheduleRequests.java | 122 + .../models/RoleEligibilitySchedules.java | 66 + .../models/RoleManagementPolicies.java | 113 + .../models/RoleManagementPolicy.java | 103 + .../RoleManagementPolicyApprovalRule.java | 69 + .../RoleManagementPolicyAssignment.java | 153 + ...eManagementPolicyAssignmentListResult.java | 77 + .../RoleManagementPolicyAssignments.java | 144 + ...gementPolicyAuthenticationContextRule.java | 92 + .../RoleManagementPolicyEnablementRule.java | 67 + .../RoleManagementPolicyExpirationRule.java | 92 + .../RoleManagementPolicyListResult.java | 77 + .../RoleManagementPolicyNotificationRule.java | 174 + .../models/RoleManagementPolicyRule.java | 95 + .../RoleManagementPolicyRuleTarget.java | 177 ++ .../models/RoleManagementPolicyRuleType.java | 52 + .../generated/models/Status.java | 98 + .../authorization/generated/models/Type.java | 41 + .../generated/models/UserSet.java | 124 + .../generated/models/UserType.java | 38 + .../generated/models/ValidationResponse.java | 31 + .../models/ValidationResponseErrorInfo.java | 50 + .../generated/models/package-info.java | 10 + .../authorization/generated/package-info.java | 10 + .../src/main/java/module-info.java | 19 + ...iewDefaultSettingsOperationGetSamples.java | 23 + ...iewDefaultSettingsOperationPutSamples.java | 26 + ...essReviewInstanceDecisionsListSamples.java | 25 + ...viewInstanceMyDecisionsGetByIdSamples.java | 29 + ...sReviewInstanceMyDecisionsListSamples.java | 25 + ...ReviewInstanceMyDecisionsPatchSamples.java | 31 + ...OperationAcceptRecommendationsSamples.java | 25 + ...nstanceOperationApplyDecisionsSamples.java | 25 + ...nstanceOperationResetDecisionsSamples.java | 25 + ...InstanceOperationSendRemindersSamples.java | 25 + ...essReviewInstanceOperationStopSamples.java | 25 + ...esAssignedForMyApprovalGetByIdSamples.java | 26 + ...ancesAssignedForMyApprovalListSamples.java | 25 + .../AccessReviewInstancesGetByIdSamples.java | 26 + .../AccessReviewInstancesListSamples.java | 23 + ...tionsAssignedForMyApprovalListSamples.java | 23 + ...eDefinitionsCreateOrUpdateByIdSamples.java | 20 + ...wScheduleDefinitionsDeleteByIdSamples.java | 25 + ...viewScheduleDefinitionsGetByIdSamples.java | 24 + ...sReviewScheduleDefinitionsListSamples.java | 23 + ...sReviewScheduleDefinitionsStopSamples.java | 24 + .../DenyAssignmentsGetByIdSamples.java | 27 + .../generated/DenyAssignmentsGetSamples.java | 25 + ...AssignmentsListByResourceGroupSamples.java | 23 + ...DenyAssignmentsListForResourceSamples.java | 32 + .../DenyAssignmentsListForScopeSamples.java | 23 + .../generated/DenyAssignmentsListSamples.java | 23 + .../EligibleChildResourcesGetSamples.java | 28 + ...PermissionsListByResourceGroupSamples.java | 23 + .../PermissionsListForResourceSamples.java | 26 + .../ProviderOperationsMetadataGetSamples.java | 23 + ...ProviderOperationsMetadataListSamples.java | 23 + ...tricsGetMetricsForSubscriptionSamples.java | 23 + ...AssignmentScheduleInstancesGetSamples.java | 28 + ...tScheduleInstancesListForScopeSamples.java | 28 + ...signmentScheduleRequestsCancelSamples.java | 28 + ...signmentScheduleRequestsCreateSamples.java | 47 + ...eAssignmentScheduleRequestsGetSamples.java | 28 + ...ntScheduleRequestsListForScopeSamples.java | 28 + .../RoleAssignmentSchedulesGetSamples.java | 28 + ...ssignmentSchedulesListForScopeSamples.java | 28 + .../RoleAssignmentsCreateByIdSamples.java | 34 + .../RoleAssignmentsCreateSamples.java | 74 + .../RoleAssignmentsDeleteByIdSamples.java | 28 + .../RoleAssignmentsDeleteSamples.java | 29 + .../RoleAssignmentsGetByIdSamples.java | 28 + .../generated/RoleAssignmentsGetSamples.java | 29 + ...AssignmentsListByResourceGroupSamples.java | 23 + ...RoleAssignmentsListForResourceSamples.java | 26 + .../RoleAssignmentsListForScopeSamples.java | 25 + .../generated/RoleAssignmentsListSamples.java | 23 + .../RoleAssignmentsValidateByIdSamples.java | 56 + .../RoleAssignmentsValidateSamples.java | 58 + .../RoleDefinitionsCreateOrUpdateSamples.java | 21 + .../RoleDefinitionsDeleteSamples.java | 23 + .../RoleDefinitionsGetByIdSamples.java | 23 + .../generated/RoleDefinitionsGetSamples.java | 23 + .../generated/RoleDefinitionsListSamples.java | 23 + ...ligibilityScheduleInstancesGetSamples.java | 28 + ...yScheduleInstancesListForScopeSamples.java | 28 + ...gibilityScheduleRequestsCancelSamples.java | 28 + ...gibilityScheduleRequestsCreateSamples.java | 46 + ...EligibilityScheduleRequestsGetSamples.java | 28 + ...tyScheduleRequestsListForScopeSamples.java | 28 + .../RoleEligibilitySchedulesGetSamples.java | 28 + ...igibilitySchedulesListForScopeSamples.java | 28 + .../RoleManagementPoliciesDeleteSamples.java | 28 + .../RoleManagementPoliciesGetSamples.java | 28 + ...ManagementPoliciesListForScopeSamples.java | 26 + .../RoleManagementPoliciesUpdateSamples.java | 304 ++ ...agementPolicyAssignmentsCreateSamples.java | 30 + ...agementPolicyAssignmentsDeleteSamples.java | 28 + ...ManagementPolicyAssignmentsGetSamples.java | 28 + ...tPolicyAssignmentsListForScopeSamples.java | 26 + sdk/authorization/ci.yml | 39 + sdk/authorization/pom.xml | 53 + 356 files changed, 55873 insertions(+) create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/README.md create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceOperationsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionIdentity.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourceImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadataImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsResultImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstanceImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstanceImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsClientImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ValidationResponseImpl.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalMode.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalSettings.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalStage.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AssignmentType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignment.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentPermission.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignments.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResource.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResources.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResourcesListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EnablementRules.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesPrincipal.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesRoleDefinition.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesScope.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/MemberType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationDeliveryMechanism.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationLevel.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permission.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PermissionGetResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permissions.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesPolicy.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesRoleDefinition.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesScope.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyProperties.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyPropertiesScope.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Principal.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PrincipalType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperation.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadata.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadataListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadatas.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecipientType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RequestType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ResourceType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignment.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentCreateParameters.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetrics.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetricsResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstance.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstanceListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstances.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequest.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfo.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesTicketInfo.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequests.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedules.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignments.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinition.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitionListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitions.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstance.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstanceListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstances.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequest.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfo.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesTicketInfo.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequests.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedules.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicies.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicy.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyApprovalRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignment.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignmentListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignments.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAuthenticationContextRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyEnablementRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyExpirationRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyListResult.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyNotificationRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRule.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleTarget.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Status.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Type.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserSet.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserType.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponse.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponseErrorInfo.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationPutSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceDecisionsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationApplyDecisionsSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationResetDecisionsSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationSendRemindersSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationStopSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsDeleteByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsStopSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListByResourceGroupSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForResourceSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/EligibleChildResourcesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListByResourceGroupSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListForResourceSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentMetricsGetMetricsForSubscriptionSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCancelSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCreateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListByResourceGroupSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForResourceSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsCreateOrUpdateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsDeleteSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetByIdSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsListSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCancelSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCreateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesDeleteSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesListForScopeSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesUpdateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsCreateSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsDeleteSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsGetSamples.java create mode 100644 sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsListForScopeSamples.java create mode 100644 sdk/authorization/ci.yml create mode 100644 sdk/authorization/pom.xml diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index 02ebfd1b90586..de630585b97f1 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -339,6 +339,7 @@ com.azure.resourcemanager:azure-resourcemanager-dashboard;1.0.0-beta.1;1.0.0-bet com.azure.resourcemanager:azure-resourcemanager-servicelinker;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-appcontainers;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-scvmm;1.0.0-beta.1;1.0.0-beta.1 +com.azure.resourcemanager:azure-resourcemanager-authorization-generated;1.0.0-beta.1;1.0.0-beta.1 com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0 com.azure.tools:azure-sdk-build-tool;1.0.0-beta.1;1.0.0-beta.2 diff --git a/pom.xml b/pom.xml index 7415453218e70..4187ad07bc7d9 100644 --- a/pom.xml +++ b/pom.xml @@ -849,6 +849,7 @@ sdk/appcontainers sdk/applicationinsights sdk/attestation + sdk/authorization sdk/automanage sdk/automation sdk/avs diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md new file mode 100644 index 0000000000000..830570b49515a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0-beta.1 (2022-05-04) + +- Azure Resource Manager Authorization client library for Java. This package contains Microsoft Azure SDK for Authorization Management SDK. Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These calls handle provider operations. Package tag package-2021-04-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/README.md b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md new file mode 100644 index 0000000000000..198d7ce189979 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md @@ -0,0 +1,102 @@ +# Azure Resource Manager Authorization client library for Java + +Azure Resource Manager Authorization client library for Java. + +This package contains Microsoft Azure SDK for Authorization Management SDK. Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These calls handle provider operations. Package tag package-2021-04-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). + +## We'd love to hear your feedback + +We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better. + +If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together. + +Thank you in advance for your collaboration. We really appreciate your time! + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-authorization-generated;current}) +```xml + + com.azure.resourcemanager + azure-resourcemanager-authorization-generated + 1.0.0-beta.1 + +``` +[//]: # ({x-version-update-end}) + +### Include the recommended packages + +Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client. + +[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation. + +### Authentication + +By default, Azure Active Directory token authentication depends on correct configure of following environment variables. + +- `AZURE_CLIENT_ID` for Azure client ID. +- `AZURE_TENANT_ID` for Azure tenant ID. +- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate. + +In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`. + +With above configuration, `azure` client can be authenticated by following code: + +```java +AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE); +TokenCredential credential = new DefaultAzureCredentialBuilder() + .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()) + .build(); +AuthorizationManager manager = AuthorizationManager + .authenticate(credential, profile); +``` + +The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise. + +See [Authentication][authenticate] for more options. + +## Key concepts + +See [API design][design] for general introduction on design and key concepts on Azure Management Libraries. + +## Examples + +[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md) + + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + + +[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://docs.microsoft.com/java/azure/jdk/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity +[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty +[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md +[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md new file mode 100644 index 0000000000000..799db7224f6fb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md @@ -0,0 +1,2422 @@ +# Code snippets and samples + + +## AccessReviewDefaultSettingsOperation + +- [Get](#accessreviewdefaultsettingsoperation_get) +- [Put](#accessreviewdefaultsettingsoperation_put) + +## AccessReviewInstanceDecisions + +- [List](#accessreviewinstancedecisions_list) + +## AccessReviewInstanceMyDecisions + +- [GetById](#accessreviewinstancemydecisions_getbyid) +- [List](#accessreviewinstancemydecisions_list) +- [Patch](#accessreviewinstancemydecisions_patch) + +## AccessReviewInstanceOperation + +- [AcceptRecommendations](#accessreviewinstanceoperation_acceptrecommendations) +- [ApplyDecisions](#accessreviewinstanceoperation_applydecisions) +- [ResetDecisions](#accessreviewinstanceoperation_resetdecisions) +- [SendReminders](#accessreviewinstanceoperation_sendreminders) +- [Stop](#accessreviewinstanceoperation_stop) + +## AccessReviewInstances + +- [GetById](#accessreviewinstances_getbyid) +- [List](#accessreviewinstances_list) + +## AccessReviewInstancesAssignedForMyApproval + +- [GetById](#accessreviewinstancesassignedformyapproval_getbyid) +- [List](#accessreviewinstancesassignedformyapproval_list) + +## AccessReviewScheduleDefinitions + +- [CreateOrUpdateById](#accessreviewscheduledefinitions_createorupdatebyid) +- [DeleteById](#accessreviewscheduledefinitions_deletebyid) +- [GetById](#accessreviewscheduledefinitions_getbyid) +- [List](#accessreviewscheduledefinitions_list) +- [Stop](#accessreviewscheduledefinitions_stop) + +## AccessReviewScheduleDefinitionsAssignedForMyApproval + +- [List](#accessreviewscheduledefinitionsassignedformyapproval_list) + +## DenyAssignments + +- [Get](#denyassignments_get) +- [GetById](#denyassignments_getbyid) +- [List](#denyassignments_list) +- [ListByResourceGroup](#denyassignments_listbyresourcegroup) +- [ListForResource](#denyassignments_listforresource) +- [ListForScope](#denyassignments_listforscope) + +## EligibleChildResources + +- [Get](#eligiblechildresources_get) + +## Permissions + +- [ListByResourceGroup](#permissions_listbyresourcegroup) +- [ListForResource](#permissions_listforresource) + +## ProviderOperationsMetadata + +- [Get](#provideroperationsmetadata_get) +- [List](#provideroperationsmetadata_list) + +## RoleAssignmentMetrics + +- [GetMetricsForSubscription](#roleassignmentmetrics_getmetricsforsubscription) + +## RoleAssignmentScheduleInstances + +- [Get](#roleassignmentscheduleinstances_get) +- [ListForScope](#roleassignmentscheduleinstances_listforscope) + +## RoleAssignmentScheduleRequests + +- [Cancel](#roleassignmentschedulerequests_cancel) +- [Create](#roleassignmentschedulerequests_create) +- [Get](#roleassignmentschedulerequests_get) +- [ListForScope](#roleassignmentschedulerequests_listforscope) + +## RoleAssignmentSchedules + +- [Get](#roleassignmentschedules_get) +- [ListForScope](#roleassignmentschedules_listforscope) + +## RoleAssignments + +- [Create](#roleassignments_create) +- [CreateById](#roleassignments_createbyid) +- [Delete](#roleassignments_delete) +- [DeleteById](#roleassignments_deletebyid) +- [Get](#roleassignments_get) +- [GetById](#roleassignments_getbyid) +- [List](#roleassignments_list) +- [ListByResourceGroup](#roleassignments_listbyresourcegroup) +- [ListForResource](#roleassignments_listforresource) +- [ListForScope](#roleassignments_listforscope) +- [Validate](#roleassignments_validate) +- [ValidateById](#roleassignments_validatebyid) + +## RoleDefinitions + +- [CreateOrUpdate](#roledefinitions_createorupdate) +- [Delete](#roledefinitions_delete) +- [Get](#roledefinitions_get) +- [GetById](#roledefinitions_getbyid) +- [List](#roledefinitions_list) + +## RoleEligibilityScheduleInstances + +- [Get](#roleeligibilityscheduleinstances_get) +- [ListForScope](#roleeligibilityscheduleinstances_listforscope) + +## RoleEligibilityScheduleRequests + +- [Cancel](#roleeligibilityschedulerequests_cancel) +- [Create](#roleeligibilityschedulerequests_create) +- [Get](#roleeligibilityschedulerequests_get) +- [ListForScope](#roleeligibilityschedulerequests_listforscope) + +## RoleEligibilitySchedules + +- [Get](#roleeligibilityschedules_get) +- [ListForScope](#roleeligibilityschedules_listforscope) + +## RoleManagementPolicies + +- [Delete](#rolemanagementpolicies_delete) +- [Get](#rolemanagementpolicies_get) +- [ListForScope](#rolemanagementpolicies_listforscope) +- [Update](#rolemanagementpolicies_update) + +## RoleManagementPolicyAssignments + +- [Create](#rolemanagementpolicyassignments_create) +- [Delete](#rolemanagementpolicyassignments_delete) +- [Get](#rolemanagementpolicyassignments_get) +- [ListForScope](#rolemanagementpolicyassignments_listforscope) +### AccessReviewDefaultSettingsOperation_Get + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewDefaultSettingsOperation Get. */ +public final class AccessReviewDefaultSettingsOperationGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewDefaultSettingsOperations().getWithResponse(Context.NONE); + } +} +``` + +### AccessReviewDefaultSettingsOperation_Put + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Samples for AccessReviewDefaultSettingsOperation Put. */ +public final class AccessReviewDefaultSettingsOperationPutSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewDefaultSettingsOperations() + .putWithResponse(new AccessReviewScheduleSettings(), Context.NONE); + } +} +``` + +### AccessReviewInstanceDecisions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceDecisions List. */ +public final class AccessReviewInstanceDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceDecisions() + .list("265785a7-a81f-4201-8a18-bb0db95982b7", "f25ed880-9c31-4101-bc57-825d8df3b58c", null, Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions GetById. */ +public final class AccessReviewInstanceMyDecisionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions List. */ +public final class AccessReviewInstanceMyDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", null, Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_Patch + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Samples for AccessReviewInstanceMyDecisions Patch. */ +public final class AccessReviewInstanceMyDecisionsPatchSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_AcceptRecommendations + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_ApplyDecisions + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ApplyDecisions. */ +public final class AccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .applyDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_ResetDecisions + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ResetDecisions. */ +public final class AccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .resetDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_SendReminders + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation SendReminders. */ +public final class AccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .sendRemindersWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_Stop + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation Stop. */ +public final class AccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .stopWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstances_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances GetById. */ +public final class AccessReviewInstancesGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstances() + .getByIdWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} +``` + +### AccessReviewInstances_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances List. */ +public final class AccessReviewInstancesListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewInstances().list("265785a7-a81f-4201-8a18-bb0db95982b7", null, Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */ +public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval List. */ +public final class AccessReviewInstancesAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "assignedToMeToReview()", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_CreateOrUpdateById + +```java +/** Samples for AccessReviewScheduleDefinitions CreateOrUpdateById. */ +public final class AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().define("fa73e90b-5bf1-45fd-a182-35ce5fc0674d").create(); + } +} +``` + +### AccessReviewScheduleDefinitions_DeleteById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions DeleteById. */ +public final class AccessReviewScheduleDefinitionsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .deleteByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions GetById. */ +public final class AccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .getByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions List. */ +public final class AccessReviewScheduleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().list(null, Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_Stop + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions Stop. */ +public final class AccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .stopWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitionsAssignedForMyApproval_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitionsAssignedForMyApprovals().list("assignedToMeToReview()", Context.NONE); + } +} +``` + +### DenyAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments Get. */ +public final class DenyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByNameId.json + */ + /** + * Sample code: Get deny assignment by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getWithResponse("subscriptions/subId/resourcegroups/rgname", "denyAssignmentId", Context.NONE); + } +} +``` + +### DenyAssignments_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments GetById. */ +public final class DenyAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentById.json + */ + /** + * Sample code: Get deny assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getByIdWithResponse( + "subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/denyAssignments/daId", + Context.NONE); + } +} +``` + +### DenyAssignments_List + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments List. */ +public final class DenyAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetAllDenyAssignments.json + */ + /** + * Sample code: List deny assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().list(null, Context.NONE); + } +} +``` + +### DenyAssignments_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListByResourceGroup. */ +public final class DenyAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResourceGroup.json + */ + /** + * Sample code: List deny assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listByResourceGroup("rgname", null, Context.NONE); + } +} +``` + +### DenyAssignments_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForResource. */ +public final class DenyAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResource.json + */ + /** + * Sample code: List deny assignments for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .listForResource( + "rgname", + "resourceProviderNamespace", + "parentResourcePath", + "resourceType", + "resourceName", + null, + Context.NONE); + } +} +``` + +### DenyAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForScope. */ +public final class DenyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByScope.json + */ + /** + * Sample code: List deny assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listForScope("subscriptions/subId", null, Context.NONE); + } +} +``` + +### EligibleChildResources_Get + +```java +import com.azure.core.util.Context; + +/** Samples for EligibleChildResources Get. */ +public final class EligibleChildResourcesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json + */ + /** + * Sample code: GetEligibleChildResourcesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getEligibleChildResourcesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .eligibleChildResources() + .get( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "resourceType eq 'resourcegroup'", + Context.NONE); + } +} +``` + +### Permissions_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for Permissions ListByResourceGroup. */ +public final class PermissionsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json + */ + /** + * Sample code: List permissions for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.permissions().listByResourceGroup("rgname", Context.NONE); + } +} +``` + +### Permissions_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for Permissions ListForResource. */ +public final class PermissionsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json + */ + /** + * Sample code: List permissions for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .permissions() + .listForResource( + "rgname", "rpnamespace", "parentResourcePath", "resourceType", "resourceName", Context.NONE); + } +} +``` + +### ProviderOperationsMetadata_Get + +```java +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata Get. */ +public final class ProviderOperationsMetadataGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json + */ + /** + * Sample code: List provider operations metadata for resource provider. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForResourceProvider( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().getWithResponse("resourceProviderNamespace", null, Context.NONE); + } +} +``` + +### ProviderOperationsMetadata_List + +```java +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata List. */ +public final class ProviderOperationsMetadataListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json + */ + /** + * Sample code: List provider operations metadata for all resource providers. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForAllResourceProviders( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().list(null, Context.NONE); + } +} +``` + +### RoleAssignmentMetrics_GetMetricsForSubscription + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentMetrics GetMetricsForSubscription. */ +public final class RoleAssignmentMetricsGetMetricsForSubscriptionSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2019-08-01-preview/examples/RoleAssignmentMetrics_GetForSubscription.json + */ + /** + * Sample code: Get role assignment metrics for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentMetricsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignmentMetrics().getMetricsForSubscriptionWithResponse(Context.NONE); + } +} +``` + +### RoleAssignmentScheduleInstances_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances Get. */ +public final class RoleAssignmentScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "ed9b8180-cef7-4c77-a63c-b8566ecfc412", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleInstances_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances ListForScope. */ +public final class RoleAssignmentScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_Cancel + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Cancel. */ +public final class RoleAssignmentScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleAssignmentScheduleRequests Create. */ +public final class RoleAssignmentScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json + */ + /** + * Sample code: PutRoleAssignmentScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleAssignmentScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .define("fea7a502-9a96-4806-a26f-eee560e52045") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.SELF_ACTIVATE) + .withScheduleInfo( + new RoleAssignmentScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:35:27.91Z")) + .withExpiration( + new RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("PT8H"))) + .withLinkedRoleEligibilityScheduleId("b1477448-2cc6-4ceb-93b4-54a202a89413") + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} +``` + +### RoleAssignmentScheduleRequests_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Get. */ +public final class RoleAssignmentScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests ListForScope. */ +public final class RoleAssignmentScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} +``` + +### RoleAssignmentSchedules_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules Get. */ +public final class RoleAssignmentSchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "c9e264ff-3133-4776-a81a-ebc7c33c8ec6", + Context.NONE); + } +} +``` + +### RoleAssignmentSchedules_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules ListForScope. */ +public final class RoleAssignmentSchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json + */ + /** + * Sample code: GetRoleAssignmentSchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentSchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleAssignments_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; + +/** Samples for RoleAssignments Create. */ +public final class RoleAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForSubscription.json + */ + /** + * Sample code: Create role assignment for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForResourceGroup.json + */ + /** + * Sample code: Create role assignment for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForResource.json + */ + /** + * Sample code: Create role assignment for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } +} +``` + +### RoleAssignments_CreateById + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments CreateById. */ +public final class RoleAssignmentsCreateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateById.json + */ + /** + * Sample code: Create or update role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createOrUpdateRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .createByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleAssignments_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Delete. */ +public final class RoleAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_Delete.json + */ + /** + * Sample code: Delete role assignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_DeleteById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments DeleteById. */ +public final class RoleAssignmentsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_DeleteById.json + */ + /** + * Sample code: Delete role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Get. */ +public final class RoleAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_Get.json + */ + /** + * Sample code: Get role assignment by scope and name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByScopeAndName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments GetById. */ +public final class RoleAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_GetById.json + */ + /** + * Sample code: Get role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_List + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments List. */ +public final class RoleAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForSubscription.json + */ + /** + * Sample code: List role assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().list(null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListByResourceGroup. */ +public final class RoleAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForResourceGroup.json + */ + /** + * Sample code: List role assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().listByResourceGroup("testrg", null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForResource. */ +public final class RoleAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForResource.json + */ + /** + * Sample code: List role assignments for a resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForAResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForResource( + "testrg", "Microsoft.DocumentDb", "databaseAccounts", "test-db-account", null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForScope. */ +public final class RoleAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForScope.json + */ + /** + * Sample code: List role assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", null, null, null, Context.NONE); + } +} +``` + +### RoleAssignments_Validate + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments Validate. */ +public final class RoleAssignmentsValidateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleAssignments_ValidateById + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments ValidateById. */ +public final class RoleAssignmentsValidateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateByIdValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleDefinitions_CreateOrUpdate + +```java +/** Samples for RoleDefinitions CreateOrUpdate. */ +public final class RoleDefinitionsCreateOrUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json + */ + /** + * Sample code: Create role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().define("roleDefinitionId").withExistingScope("scope").create(); + } +} +``` + +### RoleDefinitions_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Delete. */ +public final class RoleDefinitionsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json + */ + /** + * Sample code: Delete role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().deleteWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Get. */ +public final class RoleDefinitionsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json + */ + /** + * Sample code: Get role definition by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions GetById. */ +public final class RoleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json + */ + /** + * Sample code: Get role definition by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getByIdWithResponse("roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_List + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions List. */ +public final class RoleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json + */ + /** + * Sample code: List role definition for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleDefinitionForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().list("scope", null, Context.NONE); + } +} +``` + +### RoleEligibilityScheduleInstances_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances Get. */ +public final class RoleEligibilityScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "21e4b59a-0499-4fe0-a3c3-43a3055b773a", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleInstances_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances ListForScope. */ +public final class RoleEligibilityScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_Cancel + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Cancel. */ +public final class RoleEligibilityScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleEligibilityScheduleRequests Create. */ +public final class RoleEligibilityScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json + */ + /** + * Sample code: PutRoleEligibilityScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleEligibilityScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .define("64caffb6-55c0-4deb-a585-68e948ea1ad6") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.ADMIN_ASSIGN) + .withScheduleInfo( + new RoleEligibilityScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:31:27.91Z")) + .withExpiration( + new RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("P365D"))) + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} +``` + +### RoleEligibilityScheduleRequests_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Get. */ +public final class RoleEligibilityScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests ListForScope. */ +public final class RoleEligibilityScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} +``` + +### RoleEligibilitySchedules_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules Get. */ +public final class RoleEligibilitySchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "b1477448-2cc6-4ceb-93b4-54a202a89413", + Context.NONE); + } +} +``` + +### RoleEligibilitySchedules_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules ListForScope. */ +public final class RoleEligibilitySchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json + */ + /** + * Sample code: GetRoleEligibilitySchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilitySchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Delete. */ +public final class RoleManagementPoliciesDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json + */ + /** + * Sample code: DeleteRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Get. */ +public final class RoleManagementPoliciesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json + */ + /** + * Sample code: GetRoleManagementPolicyByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies ListForScope. */ +public final class RoleManagementPoliciesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyByRoleDefinitionFilter. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByRoleDefinitionFilter( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} +``` + +### RoleManagementPolicies_Update + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.ApprovalMode; +import com.azure.resourcemanager.authorization.generated.models.ApprovalSettings; +import com.azure.resourcemanager.authorization.generated.models.ApprovalStage; +import com.azure.resourcemanager.authorization.generated.models.EnablementRules; +import com.azure.resourcemanager.authorization.generated.models.NotificationDeliveryMechanism; +import com.azure.resourcemanager.authorization.generated.models.NotificationLevel; +import com.azure.resourcemanager.authorization.generated.models.RecipientType; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyApprovalRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAuthenticationContextRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyEnablementRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyExpirationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyNotificationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRuleTarget; +import com.azure.resourcemanager.authorization.generated.models.UserSet; +import com.azure.resourcemanager.authorization.generated.models.UserType; +import java.util.Arrays; + +/** Samples for RoleManagementPolicies Update. */ +public final class RoleManagementPoliciesUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json + */ + /** + * Sample code: PatchPartialRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchPartialRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false))), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json + */ + /** + * Sample code: PatchRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withEnabledRules(Arrays.asList()), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(false) + .withMaximumDuration("P90D"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION)), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(true) + .withMaximumDuration("PT7H"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION, + EnablementRules.TICKETING)), + new RoleManagementPolicyApprovalRule() + .withId("Approval_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withSetting( + new ApprovalSettings() + .withIsApprovalRequired(true) + .withIsApprovalRequiredForExtension(false) + .withIsRequestorJustificationRequired(true) + .withApprovalMode(ApprovalMode.SINGLE_STAGE) + .withApprovalStages( + Arrays + .asList( + new ApprovalStage() + .withApprovalStageTimeOutInDays(1) + .withIsApproverJustificationRequired(true) + .withEscalationTimeInMinutes(0) + .withPrimaryApprovers( + Arrays + .asList( + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd") + .withDescription("amansw_new_group"), + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2f4913c9-d15b-406a-9946-1d66a28f2690") + .withDescription("amansw_group"))) + .withIsEscalationEnabled(false)))), + new RoleManagementPolicyAuthenticationContextRule() + .withId("AuthenticationContext_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsEnabled(false) + .withClaimValue(""), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withIsDefaultRecipientsEnabled(true))), + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_Create + +```java +/** Samples for RoleManagementPolicyAssignments Create. */ +public final class RoleManagementPolicyAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json + */ + /** + * Sample code: PutRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .define("b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withScope("/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withRoleDefinitionId( + "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withPolicyId( + "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9") + .create(); + } +} +``` + +### RoleManagementPolicyAssignments_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Delete. */ +public final class RoleManagementPolicyAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json + */ + /** + * Sample code: DeleteRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Get. */ +public final class RoleManagementPolicyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json + */ + /** + * Sample code: GetConfigurations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getConfigurations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments ListForScope. */ +public final class RoleManagementPolicyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyAssignmentByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyAssignmentByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} +``` + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml new file mode 100644 index 0000000000000..f2f1102137969 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml @@ -0,0 +1,55 @@ + + 4.0.0 + + com.azure + azure-client-sdk-parent + 1.7.0 + ../../parents/azure-client-sdk-parent + + + com.azure.resourcemanager + azure-resourcemanager-authorization-generated + 1.0.0-beta.1 + jar + + Microsoft Azure SDK for Authorization Management + This package contains Microsoft Azure SDK for Authorization Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These calls handle provider operations. Package tag package-2021-04-01-preview. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + true + + + + com.azure + azure-core + 1.27.0 + + + com.azure + azure-core-management + 1.5.4 + + + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java new file mode 100644 index 0000000000000..adf4c4ce14fd9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java @@ -0,0 +1,674 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated; + +import com.azure.core.credential.TokenCredential; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy; +import com.azure.core.management.profile.AzureProfile; +import com.azure.core.util.Configuration; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AuthorizationManagementClient; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewDefaultSettingsOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceMyDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AuthorizationManagementClientBuilder; +import com.azure.resourcemanager.authorization.generated.implementation.DenyAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.EligibleChildResourcesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.OperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.PermissionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ProviderOperationsMetadatasImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentMetricsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleRequestsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentSchedulesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleRequestsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilitySchedulesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPoliciesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPolicyAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstances; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstancesAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionsAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignments; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResources; +import com.azure.resourcemanager.authorization.generated.models.Operations; +import com.azure.resourcemanager.authorization.generated.models.Permissions; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadatas; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetrics; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstances; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequests; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedules; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignments; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstances; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequests; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedules; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicies; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignments; +import java.time.Duration; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Entry point to AuthorizationManager. Role based access control provides you a way to apply granular level policy + * administration down to individual resources or resource groups. These calls handle provider operations. + */ +public final class AuthorizationManager { + private ProviderOperationsMetadatas providerOperationsMetadatas; + + private Permissions permissions; + + private RoleDefinitions roleDefinitions; + + private DenyAssignments denyAssignments; + + private RoleAssignmentMetrics roleAssignmentMetrics; + + private EligibleChildResources eligibleChildResources; + + private RoleAssignmentSchedules roleAssignmentSchedules; + + private RoleAssignmentScheduleInstances roleAssignmentScheduleInstances; + + private RoleAssignmentScheduleRequests roleAssignmentScheduleRequests; + + private RoleEligibilitySchedules roleEligibilitySchedules; + + private RoleEligibilityScheduleInstances roleEligibilityScheduleInstances; + + private RoleEligibilityScheduleRequests roleEligibilityScheduleRequests; + + private RoleManagementPolicies roleManagementPolicies; + + private RoleManagementPolicyAssignments roleManagementPolicyAssignments; + + private Operations operations; + + private AccessReviewScheduleDefinitions accessReviewScheduleDefinitions; + + private AccessReviewInstances accessReviewInstances; + + private AccessReviewInstanceOperations accessReviewInstanceOperations; + + private AccessReviewInstanceDecisions accessReviewInstanceDecisions; + + private AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations; + + private AccessReviewScheduleDefinitionsAssignedForMyApprovals accessReviewScheduleDefinitionsAssignedForMyApprovals; + + private AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals; + + private AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions; + + private RoleAssignments roleAssignments; + + private final AuthorizationManagementClient clientObject; + + private AuthorizationManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + this.clientObject = + new AuthorizationManagementClientBuilder() + .pipeline(httpPipeline) + .endpoint(profile.getEnvironment().getResourceManagerEndpoint()) + .subscriptionId(profile.getSubscriptionId()) + .defaultPollInterval(defaultPollInterval) + .buildClient(); + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public static AuthorizationManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return configure().authenticate(credential, profile); + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param httpPipeline the {@link HttpPipeline} configured with Azure authentication credential. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public static AuthorizationManager authenticate(HttpPipeline httpPipeline, AzureProfile profile) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return new AuthorizationManager(httpPipeline, profile, null); + } + + /** + * Gets a Configurable instance that can be used to create AuthorizationManager with optional configuration. + * + * @return the Configurable instance allowing configurations. + */ + public static Configurable configure() { + return new AuthorizationManager.Configurable(); + } + + /** The Configurable allowing configurations to be set. */ + public static final class Configurable { + private static final ClientLogger LOGGER = new ClientLogger(Configurable.class); + + private HttpClient httpClient; + private HttpLogOptions httpLogOptions; + private final List policies = new ArrayList<>(); + private final List scopes = new ArrayList<>(); + private RetryPolicy retryPolicy; + private RetryOptions retryOptions; + private Duration defaultPollInterval; + + private Configurable() { + } + + /** + * Sets the http client. + * + * @param httpClient the HTTP client. + * @return the configurable object itself. + */ + public Configurable withHttpClient(HttpClient httpClient) { + this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null."); + return this; + } + + /** + * Sets the logging options to the HTTP pipeline. + * + * @param httpLogOptions the HTTP log options. + * @return the configurable object itself. + */ + public Configurable withLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null."); + return this; + } + + /** + * Adds the pipeline policy to the HTTP pipeline. + * + * @param policy the HTTP pipeline policy. + * @return the configurable object itself. + */ + public Configurable withPolicy(HttpPipelinePolicy policy) { + this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null.")); + return this; + } + + /** + * Adds the scope to permission sets. + * + * @param scope the scope. + * @return the configurable object itself. + */ + public Configurable withScope(String scope) { + this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null.")); + return this; + } + + /** + * Sets the retry policy to the HTTP pipeline. + * + * @param retryPolicy the HTTP pipeline retry policy. + * @return the configurable object itself. + */ + public Configurable withRetryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null."); + return this; + } + + /** + * Sets the retry options for the HTTP pipeline retry policy. + * + *

This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}. + * + * @param retryOptions the retry options for the HTTP pipeline retry policy. + * @return the configurable object itself. + */ + public Configurable withRetryOptions(RetryOptions retryOptions) { + this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null."); + return this; + } + + /** + * Sets the default poll interval, used when service does not provide "Retry-After" header. + * + * @param defaultPollInterval the default poll interval. + * @return the configurable object itself. + */ + public Configurable withDefaultPollInterval(Duration defaultPollInterval) { + this.defaultPollInterval = + Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null."); + if (this.defaultPollInterval.isNegative()) { + throw LOGGER + .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative")); + } + return this; + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public AuthorizationManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + + StringBuilder userAgentBuilder = new StringBuilder(); + userAgentBuilder + .append("azsdk-java") + .append("-") + .append("com.azure.resourcemanager.authorization.generated") + .append("/") + .append("1.0.0-beta.1"); + if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) { + userAgentBuilder + .append(" (") + .append(Configuration.getGlobalConfiguration().get("java.version")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.name")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.version")) + .append("; auto-generated)"); + } else { + userAgentBuilder.append(" (auto-generated)"); + } + + if (scopes.isEmpty()) { + scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default"); + } + if (retryPolicy == null) { + if (retryOptions != null) { + retryPolicy = new RetryPolicy(retryOptions); + } else { + retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS); + } + } + List policies = new ArrayList<>(); + policies.add(new UserAgentPolicy(userAgentBuilder.toString())); + policies.add(new AddHeadersFromContextPolicy()); + policies.add(new RequestIdPolicy()); + policies + .addAll( + this + .policies + .stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(retryPolicy); + policies.add(new AddDatePolicy()); + policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0]))); + policies + .addAll( + this + .policies + .stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .httpClient(httpClient) + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .build(); + return new AuthorizationManager(httpPipeline, profile, defaultPollInterval); + } + } + + /** + * Gets the resource collection API of ProviderOperationsMetadatas. + * + * @return Resource collection API of ProviderOperationsMetadatas. + */ + public ProviderOperationsMetadatas providerOperationsMetadatas() { + if (this.providerOperationsMetadatas == null) { + this.providerOperationsMetadatas = + new ProviderOperationsMetadatasImpl(clientObject.getProviderOperationsMetadatas(), this); + } + return providerOperationsMetadatas; + } + + /** + * Gets the resource collection API of Permissions. + * + * @return Resource collection API of Permissions. + */ + public Permissions permissions() { + if (this.permissions == null) { + this.permissions = new PermissionsImpl(clientObject.getPermissions(), this); + } + return permissions; + } + + /** + * Gets the resource collection API of RoleDefinitions. + * + * @return Resource collection API of RoleDefinitions. + */ + public RoleDefinitions roleDefinitions() { + if (this.roleDefinitions == null) { + this.roleDefinitions = new RoleDefinitionsImpl(clientObject.getRoleDefinitions(), this); + } + return roleDefinitions; + } + + /** + * Gets the resource collection API of DenyAssignments. + * + * @return Resource collection API of DenyAssignments. + */ + public DenyAssignments denyAssignments() { + if (this.denyAssignments == null) { + this.denyAssignments = new DenyAssignmentsImpl(clientObject.getDenyAssignments(), this); + } + return denyAssignments; + } + + /** + * Gets the resource collection API of RoleAssignmentMetrics. + * + * @return Resource collection API of RoleAssignmentMetrics. + */ + public RoleAssignmentMetrics roleAssignmentMetrics() { + if (this.roleAssignmentMetrics == null) { + this.roleAssignmentMetrics = new RoleAssignmentMetricsImpl(clientObject.getRoleAssignmentMetrics(), this); + } + return roleAssignmentMetrics; + } + + /** + * Gets the resource collection API of EligibleChildResources. + * + * @return Resource collection API of EligibleChildResources. + */ + public EligibleChildResources eligibleChildResources() { + if (this.eligibleChildResources == null) { + this.eligibleChildResources = + new EligibleChildResourcesImpl(clientObject.getEligibleChildResources(), this); + } + return eligibleChildResources; + } + + /** + * Gets the resource collection API of RoleAssignmentSchedules. + * + * @return Resource collection API of RoleAssignmentSchedules. + */ + public RoleAssignmentSchedules roleAssignmentSchedules() { + if (this.roleAssignmentSchedules == null) { + this.roleAssignmentSchedules = + new RoleAssignmentSchedulesImpl(clientObject.getRoleAssignmentSchedules(), this); + } + return roleAssignmentSchedules; + } + + /** + * Gets the resource collection API of RoleAssignmentScheduleInstances. + * + * @return Resource collection API of RoleAssignmentScheduleInstances. + */ + public RoleAssignmentScheduleInstances roleAssignmentScheduleInstances() { + if (this.roleAssignmentScheduleInstances == null) { + this.roleAssignmentScheduleInstances = + new RoleAssignmentScheduleInstancesImpl(clientObject.getRoleAssignmentScheduleInstances(), this); + } + return roleAssignmentScheduleInstances; + } + + /** + * Gets the resource collection API of RoleAssignmentScheduleRequests. + * + * @return Resource collection API of RoleAssignmentScheduleRequests. + */ + public RoleAssignmentScheduleRequests roleAssignmentScheduleRequests() { + if (this.roleAssignmentScheduleRequests == null) { + this.roleAssignmentScheduleRequests = + new RoleAssignmentScheduleRequestsImpl(clientObject.getRoleAssignmentScheduleRequests(), this); + } + return roleAssignmentScheduleRequests; + } + + /** + * Gets the resource collection API of RoleEligibilitySchedules. + * + * @return Resource collection API of RoleEligibilitySchedules. + */ + public RoleEligibilitySchedules roleEligibilitySchedules() { + if (this.roleEligibilitySchedules == null) { + this.roleEligibilitySchedules = + new RoleEligibilitySchedulesImpl(clientObject.getRoleEligibilitySchedules(), this); + } + return roleEligibilitySchedules; + } + + /** + * Gets the resource collection API of RoleEligibilityScheduleInstances. + * + * @return Resource collection API of RoleEligibilityScheduleInstances. + */ + public RoleEligibilityScheduleInstances roleEligibilityScheduleInstances() { + if (this.roleEligibilityScheduleInstances == null) { + this.roleEligibilityScheduleInstances = + new RoleEligibilityScheduleInstancesImpl(clientObject.getRoleEligibilityScheduleInstances(), this); + } + return roleEligibilityScheduleInstances; + } + + /** + * Gets the resource collection API of RoleEligibilityScheduleRequests. + * + * @return Resource collection API of RoleEligibilityScheduleRequests. + */ + public RoleEligibilityScheduleRequests roleEligibilityScheduleRequests() { + if (this.roleEligibilityScheduleRequests == null) { + this.roleEligibilityScheduleRequests = + new RoleEligibilityScheduleRequestsImpl(clientObject.getRoleEligibilityScheduleRequests(), this); + } + return roleEligibilityScheduleRequests; + } + + /** + * Gets the resource collection API of RoleManagementPolicies. + * + * @return Resource collection API of RoleManagementPolicies. + */ + public RoleManagementPolicies roleManagementPolicies() { + if (this.roleManagementPolicies == null) { + this.roleManagementPolicies = + new RoleManagementPoliciesImpl(clientObject.getRoleManagementPolicies(), this); + } + return roleManagementPolicies; + } + + /** + * Gets the resource collection API of RoleManagementPolicyAssignments. + * + * @return Resource collection API of RoleManagementPolicyAssignments. + */ + public RoleManagementPolicyAssignments roleManagementPolicyAssignments() { + if (this.roleManagementPolicyAssignments == null) { + this.roleManagementPolicyAssignments = + new RoleManagementPolicyAssignmentsImpl(clientObject.getRoleManagementPolicyAssignments(), this); + } + return roleManagementPolicyAssignments; + } + + /** + * 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 AccessReviewScheduleDefinitions. + * + * @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. + * + * @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 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 RoleAssignments. + * + * @return Resource collection API of RoleAssignments. + */ + public RoleAssignments roleAssignments() { + if (this.roleAssignments == null) { + this.roleAssignments = new RoleAssignmentsImpl(clientObject.getRoleAssignments(), this); + } + return roleAssignments; + } + + /** + * @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/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..188f6fdd89d27 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; + +/** An instance of this class provides access to all the operations defined in 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); +} 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..1bcb3ef0029b9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java @@ -0,0 +1,208 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.http.HttpPipeline; +import java.time.Duration; + +/** The interface for AuthorizationManagementClient class. */ +public interface AuthorizationManagementClient { + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + String getSubscriptionId(); + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + String getEndpoint(); + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + HttpPipeline getHttpPipeline(); + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + Duration getDefaultPollInterval(); + + /** + * Gets the ProviderOperationsMetadatasClient object to access its operations. + * + * @return the ProviderOperationsMetadatasClient object. + */ + ProviderOperationsMetadatasClient getProviderOperationsMetadatas(); + + /** + * Gets the PermissionsClient object to access its operations. + * + * @return the PermissionsClient object. + */ + PermissionsClient getPermissions(); + + /** + * Gets the RoleDefinitionsClient object to access its operations. + * + * @return the RoleDefinitionsClient object. + */ + RoleDefinitionsClient getRoleDefinitions(); + + /** + * Gets the DenyAssignmentsClient object to access its operations. + * + * @return the DenyAssignmentsClient object. + */ + DenyAssignmentsClient getDenyAssignments(); + + /** + * Gets the RoleAssignmentMetricsClient object to access its operations. + * + * @return the RoleAssignmentMetricsClient object. + */ + RoleAssignmentMetricsClient getRoleAssignmentMetrics(); + + /** + * Gets the EligibleChildResourcesClient object to access its operations. + * + * @return the EligibleChildResourcesClient object. + */ + EligibleChildResourcesClient getEligibleChildResources(); + + /** + * Gets the RoleAssignmentSchedulesClient object to access its operations. + * + * @return the RoleAssignmentSchedulesClient object. + */ + RoleAssignmentSchedulesClient getRoleAssignmentSchedules(); + + /** + * Gets the RoleAssignmentScheduleInstancesClient object to access its operations. + * + * @return the RoleAssignmentScheduleInstancesClient object. + */ + RoleAssignmentScheduleInstancesClient getRoleAssignmentScheduleInstances(); + + /** + * Gets the RoleAssignmentScheduleRequestsClient object to access its operations. + * + * @return the RoleAssignmentScheduleRequestsClient object. + */ + RoleAssignmentScheduleRequestsClient getRoleAssignmentScheduleRequests(); + + /** + * Gets the RoleEligibilitySchedulesClient object to access its operations. + * + * @return the RoleEligibilitySchedulesClient object. + */ + RoleEligibilitySchedulesClient getRoleEligibilitySchedules(); + + /** + * Gets the RoleEligibilityScheduleInstancesClient object to access its operations. + * + * @return the RoleEligibilityScheduleInstancesClient object. + */ + RoleEligibilityScheduleInstancesClient getRoleEligibilityScheduleInstances(); + + /** + * Gets the RoleEligibilityScheduleRequestsClient object to access its operations. + * + * @return the RoleEligibilityScheduleRequestsClient object. + */ + RoleEligibilityScheduleRequestsClient getRoleEligibilityScheduleRequests(); + + /** + * Gets the RoleManagementPoliciesClient object to access its operations. + * + * @return the RoleManagementPoliciesClient object. + */ + RoleManagementPoliciesClient getRoleManagementPolicies(); + + /** + * Gets the RoleManagementPolicyAssignmentsClient object to access its operations. + * + * @return the RoleManagementPolicyAssignmentsClient object. + */ + RoleManagementPolicyAssignmentsClient getRoleManagementPolicyAssignments(); + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + OperationsClient getOperations(); + + /** + * Gets the AccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsClient object. + */ + AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions(); + + /** + * Gets the AccessReviewInstancesClient object to access its operations. + * + * @return the AccessReviewInstancesClient object. + */ + AccessReviewInstancesClient getAccessReviewInstances(); + + /** + * Gets the AccessReviewInstanceOperationsClient object to access its operations. + * + * @return the AccessReviewInstanceOperationsClient object. + */ + AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations(); + + /** + * Gets the AccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceDecisionsClient object. + */ + AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions(); + + /** + * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations. + * + * @return the AccessReviewDefaultSettingsOperationsClient object. + */ + AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations(); + + /** + * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object. + */ + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + getAccessReviewScheduleDefinitionsAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewInstancesAssignedForMyApprovalsClient object. + */ + AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceMyDecisionsClient object. + */ + AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions(); + + /** + * Gets the RoleAssignmentsClient object to access its operations. + * + * @return the RoleAssignmentsClient object. + */ + RoleAssignmentsClient getRoleAssignments(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java new file mode 100644 index 0000000000000..0db35a9723651 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; + +/** An instance of this class provides access to all the operations defined in DenyAssignmentsClient. */ +public interface DenyAssignmentsClient { + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName, String filter, Context context); + + /** + * Gets all deny assignments for the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, Context context); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + DenyAssignmentInner get(String scope, String denyAssignmentId); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String denyAssignmentId, Context context); + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + DenyAssignmentInner getById(String denyAssignmentId); + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String denyAssignmentId, Context context); + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java new file mode 100644 index 0000000000000..eb33b3392c5ef --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.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.EligibleChildResourceInner; + +/** An instance of this class provides access to all the operations defined in EligibleChildResourcesClient. */ +public interface EligibleChildResourcesClient { + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable get(String scope); + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable get(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java new file mode 100644 index 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/PermissionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java new file mode 100644 index 0000000000000..3a7a7a426bedc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; + +/** An instance of this class provides access to all the operations defined in PermissionsClient. */ +public interface PermissionsClient { + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName, Context context); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java new file mode 100644 index 0000000000000..4f25024d5cb7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; + +/** An instance of this class provides access to all the operations defined in ProviderOperationsMetadatasClient. */ +public interface ProviderOperationsMetadatasClient { + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + ProviderOperationsMetadataInner get(String resourceProviderNamespace); + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String resourceProviderNamespace, String expand, Context context); + + /** + * Gets provider operations metadata for all resource providers. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String expand, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java new file mode 100644 index 0000000000000..8d4c1109e2d59 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentMetricsClient. */ +public interface RoleAssignmentMetricsClient { + /** + * Get role assignment usage metrics for a subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentMetricsResultInner getMetricsForSubscription(); + + /** + * Get role assignment usage metrics for a subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getMetricsForSubscriptionWithResponse(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java new file mode 100644 index 0000000000000..9225e41416665 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleInstancesClient. */ +public interface RoleAssignmentScheduleInstancesClient { + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentScheduleInstanceInner get(String scope, String roleAssignmentScheduleInstanceName); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleAssignmentScheduleInstanceName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java new file mode 100644 index 0000000000000..f28cf4c3059b0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleRequestsClient.java @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleRequestsClient. */ +public interface RoleAssignmentScheduleRequestsClient { + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentScheduleRequestInner create( + String scope, String roleAssignmentScheduleRequestName, RoleAssignmentScheduleRequestInner parameters); + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, + String roleAssignmentScheduleRequestName, + RoleAssignmentScheduleRequestInner parameters, + Context context); + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentScheduleRequestInner get(String scope, String roleAssignmentScheduleRequestName); + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleAssignmentScheduleRequestName, Context context); + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void cancel(String scope, String roleAssignmentScheduleRequestName); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response cancelWithResponse(String scope, String roleAssignmentScheduleRequestName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java new file mode 100644 index 0000000000000..fd6508c8534ac --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentSchedulesClient.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentSchedulesClient. */ +public interface RoleAssignmentSchedulesClient { + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentScheduleInner get(String scope, String roleAssignmentScheduleName); + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleAssignmentScheduleName, Context context); + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java new file mode 100644 index 0000000000000..04b97311047bc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java @@ -0,0 +1,431 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentsClient. */ +public interface RoleAssignmentsClient { + /** + * List all role assignments that apply to a subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup( + String resourceGroupName, String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner get(String scope, String roleAssignmentName); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context); + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner create(String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters); + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context); + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner delete(String scope, String roleAssignmentName); + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + ValidationResponseInner validate( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response validateWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope( + String scope, String filter, String tenantId, String skipToken, Context context); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner getById(String roleAssignmentId); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String roleAssignmentId, String tenantId, Context context); + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner createById(String roleAssignmentId, RoleAssignmentCreateParameters parameters); + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context); + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner deleteById(String roleAssignmentId); + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteByIdWithResponse(String roleAssignmentId, String tenantId, Context context); + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + ValidationResponseInner validateById(String roleAssignmentId, RoleAssignmentCreateParameters parameters); + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response validateByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java new file mode 100644 index 0000000000000..1c16f2804b8b6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java @@ -0,0 +1,159 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; + +/** An instance of this class provides access to all the operations defined in RoleDefinitionsClient. */ +public interface RoleDefinitionsClient { + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner delete(String scope, String roleDefinitionId); + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteWithResponse(String scope, String roleDefinitionId, Context context); + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID). + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner get(String scope, String roleDefinitionId); + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String roleDefinitionId, Context context); + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner createOrUpdate(String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition); + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createOrUpdateWithResponse( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition, Context context); + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope); + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String filter, Context context); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner getById(String roleId); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getByIdWithResponse(String roleId, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java new file mode 100644 index 0000000000000..b0812f56fd30b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java @@ -0,0 +1,79 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in RoleEligibilityScheduleInstancesClient. + */ +public interface RoleEligibilityScheduleInstancesClient { + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleEligibilityScheduleInstanceInner get(String scope, String roleEligibilityScheduleInstanceName); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleEligibilityScheduleInstanceName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java new file mode 100644 index 0000000000000..2c4b0bded340f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleRequestsClient.java @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; + +/** An instance of this class provides access to all the operations defined in RoleEligibilityScheduleRequestsClient. */ +public interface RoleEligibilityScheduleRequestsClient { + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleEligibilityScheduleRequestInner create( + String scope, String roleEligibilityScheduleRequestName, RoleEligibilityScheduleRequestInner parameters); + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, + String roleEligibilityScheduleRequestName, + RoleEligibilityScheduleRequestInner parameters, + Context context); + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleEligibilityScheduleRequestInner get(String scope, String roleEligibilityScheduleRequestName); + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleEligibilityScheduleRequestName, Context context); + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void cancel(String scope, String roleEligibilityScheduleRequestName); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response cancelWithResponse(String scope, String roleEligibilityScheduleRequestName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java new file mode 100644 index 0000000000000..eff3f63c1d196 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilitySchedulesClient.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; + +/** An instance of this class provides access to all the operations defined in RoleEligibilitySchedulesClient. */ +public interface RoleEligibilitySchedulesClient { + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleEligibilityScheduleInner get(String scope, String roleEligibilityScheduleName); + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleEligibilityScheduleName, Context context); + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java new file mode 100644 index 0000000000000..90c89d8c5032c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; + +/** An instance of this class provides access to all the operations defined in RoleManagementPoliciesClient. */ +public interface RoleManagementPoliciesClient { + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleManagementPolicyInner get(String scope, String roleManagementPolicyName); + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse(String scope, String roleManagementPolicyName, Context context); + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleManagementPolicyInner update( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters); + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response updateWithResponse( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context); + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void delete(String scope, String roleManagementPolicyName); + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteWithResponse(String scope, String roleManagementPolicyName, Context context); + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java new file mode 100644 index 0000000000000..859241b3863cb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; + +/** An instance of this class provides access to all the operations defined in RoleManagementPolicyAssignmentsClient. */ +public interface RoleManagementPolicyAssignmentsClient { + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleManagementPolicyAssignmentInner get(String scope, String roleManagementPolicyAssignmentName); + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response getWithResponse( + String scope, String roleManagementPolicyAssignmentName, Context context); + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleManagementPolicyAssignmentInner create( + String scope, String roleManagementPolicyAssignmentName, RoleManagementPolicyAssignmentInner parameters); + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response createWithResponse( + String scope, + String roleManagementPolicyAssignmentName, + RoleManagementPolicyAssignmentInner parameters, + Context context); + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void delete(String scope, String roleManagementPolicyAssignmentName); + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + Response deleteWithResponse(String scope, String roleManagementPolicyAssignmentName, Context context); + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/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/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..b15775d939075 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionResource.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +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") +@JsonTypeName("AccessReviewDecisionResource") +@Immutable +public final 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..0de42024c005e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java @@ -0,0 +1,388 @@ +// Copyright (c) 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.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 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/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..1ff36e876f558 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java @@ -0,0 +1,96 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** 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; + } + + /** + * 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..2d4e0773368f5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java @@ -0,0 +1,89 @@ +// Copyright (c) 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.AccessReviewInstanceStatus; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** 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; + + /** + * Get the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + public AccessReviewInstanceStatus status() { + return this.status; + } + + /** + * Get the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @param startDateTime the startDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @param endDateTime the endDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java new file mode 100644 index 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..c3ae34052b49b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java @@ -0,0 +1,641 @@ +// Copyright (c) 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 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(); + } + + /** + * 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..9bb66a6a1b27c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java @@ -0,0 +1,740 @@ +// Copyright (c) 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 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; + } + + /** + * 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..84735e23286e5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java @@ -0,0 +1,418 @@ +// Copyright (c) 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.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; + + /* + * The duration in days for an instance. + */ + @JsonProperty(value = "instanceDurationInDays") + private Integer instanceDurationInDays; + + /* + * Access Review Settings. + */ + @JsonProperty(value = "recurrence") + private AccessReviewRecurrenceSettings innerRecurrence; + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.mailNotificationsEnabled; + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + this.mailNotificationsEnabled = mailNotificationsEnabled; + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.reminderNotificationsEnabled; + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + this.reminderNotificationsEnabled = reminderNotificationsEnabled; + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.defaultDecisionEnabled; + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + this.defaultDecisionEnabled = defaultDecisionEnabled; + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.justificationRequiredOnApproval; + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval) { + this.justificationRequiredOnApproval = justificationRequiredOnApproval; + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.defaultDecision; + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecision(DefaultDecisionType defaultDecision) { + this.defaultDecision = defaultDecision; + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.autoApplyDecisionsEnabled; + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + this.autoApplyDecisionsEnabled = autoApplyDecisionsEnabled; + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.recommendationsEnabled; + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withRecommendationsEnabled(Boolean recommendationsEnabled) { + this.recommendationsEnabled = recommendationsEnabled; + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.instanceDurationInDays; + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInstanceDurationInDays(Integer instanceDurationInDays) { + this.instanceDurationInDays = instanceDurationInDays; + return this; + } + + /** + * Get the innerRecurrence property: Access Review Settings. + * + * @return the innerRecurrence value. + */ + private AccessReviewRecurrenceSettings innerRecurrence() { + return this.innerRecurrence; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInterval(Integer interval) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withInterval(interval); + return this; + } + + /** + * Get the 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..a7581ff060364 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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; + + /** + * 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; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java new file mode 100644 index 0000000000000..33ffc13d60061 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java @@ -0,0 +1,274 @@ +// Copyright (c) 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.DenyAssignmentPermission; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny Assignment. */ +@Fluent +public final class DenyAssignmentInner { + /* + * The deny assignment ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The deny assignment name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The deny assignment type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Deny assignment properties. + */ + @JsonProperty(value = "properties") + private DenyAssignmentProperties innerProperties; + + /** + * Get the id property: The deny assignment ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The deny assignment name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The deny assignment type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Deny assignment properties. + * + * @return the innerProperties value. + */ + private DenyAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the denyAssignmentName property: The display name of the deny assignment. + * + * @return the denyAssignmentName value. + */ + public String denyAssignmentName() { + return this.innerProperties() == null ? null : this.innerProperties().denyAssignmentName(); + } + + /** + * Set the denyAssignmentName property: The display name of the deny assignment. + * + * @param denyAssignmentName the denyAssignmentName value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDenyAssignmentName(String denyAssignmentName) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDenyAssignmentName(denyAssignmentName); + return this; + } + + /** + * Get the description property: The description of the deny assignment. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The description of the deny assignment. + * + * @param description the description value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the permissions property: An array of permissions that are denied by the deny assignment. + * + * @return the permissions value. + */ + public List permissions() { + return this.innerProperties() == null ? null : this.innerProperties().permissions(); + } + + /** + * Set the permissions property: An array of permissions that are denied by the deny assignment. + * + * @param permissions the permissions value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withPermissions(List permissions) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withPermissions(permissions); + return this; + } + + /** + * Get the scope property: The deny assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The deny assignment scope. + * + * @param scope the scope value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @return the doNotApplyToChildScopes value. + */ + public Boolean doNotApplyToChildScopes() { + return this.innerProperties() == null ? null : this.innerProperties().doNotApplyToChildScopes(); + } + + /** + * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDoNotApplyToChildScopes(doNotApplyToChildScopes); + return this; + } + + /** + * Get the principals property: Array of principals to which the deny assignment applies. + * + * @return the principals value. + */ + public List principals() { + return this.innerProperties() == null ? null : this.innerProperties().principals(); + } + + /** + * Set the principals property: Array of principals to which the deny assignment applies. + * + * @param principals the principals value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withPrincipals(List principals) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withPrincipals(principals); + return this; + } + + /** + * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @return the excludePrincipals value. + */ + public List excludePrincipals() { + return this.innerProperties() == null ? null : this.innerProperties().excludePrincipals(); + } + + /** + * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @param excludePrincipals the excludePrincipals value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withExcludePrincipals(List excludePrincipals) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withExcludePrincipals(excludePrincipals); + return this; + } + + /** + * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @return the isSystemProtected value. + */ + public Boolean isSystemProtected() { + return this.innerProperties() == null ? null : this.innerProperties().isSystemProtected(); + } + + /** + * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @param isSystemProtected the isSystemProtected value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withIsSystemProtected(Boolean isSystemProtected) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withIsSystemProtected(isSystemProtected); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java new file mode 100644 index 0000000000000..5e727ac67f3c2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java @@ -0,0 +1,246 @@ +// Copyright (c) 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.DenyAssignmentPermission; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment properties. */ +@Fluent +public final class DenyAssignmentProperties { + /* + * The display name of the deny assignment. + */ + @JsonProperty(value = "denyAssignmentName") + private String denyAssignmentName; + + /* + * The description of the deny assignment. + */ + @JsonProperty(value = "description") + private String description; + + /* + * An array of permissions that are denied by the deny assignment. + */ + @JsonProperty(value = "permissions") + private List permissions; + + /* + * The deny assignment scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * Determines if the deny assignment applies to child scopes. Default value + * is false. + */ + @JsonProperty(value = "doNotApplyToChildScopes") + private Boolean doNotApplyToChildScopes; + + /* + * Array of principals to which the deny assignment applies. + */ + @JsonProperty(value = "principals") + private List principals; + + /* + * Array of principals to which the deny assignment does not apply. + */ + @JsonProperty(value = "excludePrincipals") + private List excludePrincipals; + + /* + * Specifies whether this deny assignment was created by Azure and cannot + * be edited or deleted. + */ + @JsonProperty(value = "isSystemProtected") + private Boolean isSystemProtected; + + /** + * Get the denyAssignmentName property: The display name of the deny assignment. + * + * @return the denyAssignmentName value. + */ + public String denyAssignmentName() { + return this.denyAssignmentName; + } + + /** + * Set the denyAssignmentName property: The display name of the deny assignment. + * + * @param denyAssignmentName the denyAssignmentName value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDenyAssignmentName(String denyAssignmentName) { + this.denyAssignmentName = denyAssignmentName; + return this; + } + + /** + * Get the description property: The description of the deny assignment. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The description of the deny assignment. + * + * @param description the description value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the permissions property: An array of permissions that are denied by the deny assignment. + * + * @return the permissions value. + */ + public List permissions() { + return this.permissions; + } + + /** + * Set the permissions property: An array of permissions that are denied by the deny assignment. + * + * @param permissions the permissions value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withPermissions(List permissions) { + this.permissions = permissions; + return this; + } + + /** + * Get the scope property: The deny assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The deny assignment scope. + * + * @param scope the scope value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @return the doNotApplyToChildScopes value. + */ + public Boolean doNotApplyToChildScopes() { + return this.doNotApplyToChildScopes; + } + + /** + * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) { + this.doNotApplyToChildScopes = doNotApplyToChildScopes; + return this; + } + + /** + * Get the principals property: Array of principals to which the deny assignment applies. + * + * @return the principals value. + */ + public List principals() { + return this.principals; + } + + /** + * Set the principals property: Array of principals to which the deny assignment applies. + * + * @param principals the principals value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withPrincipals(List principals) { + this.principals = principals; + return this; + } + + /** + * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @return the excludePrincipals value. + */ + public List excludePrincipals() { + return this.excludePrincipals; + } + + /** + * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @param excludePrincipals the excludePrincipals value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withExcludePrincipals(List excludePrincipals) { + this.excludePrincipals = excludePrincipals; + return this; + } + + /** + * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @return the isSystemProtected value. + */ + public Boolean isSystemProtected() { + return this.isSystemProtected; + } + + /** + * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @param isSystemProtected the isSystemProtected value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withIsSystemProtected(Boolean isSystemProtected) { + this.isSystemProtected = isSystemProtected; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (permissions() != null) { + permissions().forEach(e -> e.validate()); + } + if (principals() != null) { + principals().forEach(e -> e.validate()); + } + if (excludePrincipals() != null) { + excludePrincipals().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java new file mode 100644 index 0000000000000..4da577554b684 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.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.fasterxml.jackson.annotation.JsonProperty; + +/** Eligible child resource. */ +@Immutable +public final class EligibleChildResourceInner { + /* + * The resource scope Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The resource name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The resource type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /** + * Get the id property: The resource scope Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The resource name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The resource type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java new file mode 100644 index 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/PermissionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java new file mode 100644 index 0000000000000..e1b8186e01290 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition permissions. */ +@Fluent +public final class PermissionInner { + /* + * Allowed actions. + */ + @JsonProperty(value = "actions") + private List actions; + + /* + * Denied actions. + */ + @JsonProperty(value = "notActions") + private List notActions; + + /* + * Allowed Data actions. + */ + @JsonProperty(value = "dataActions") + private List dataActions; + + /* + * Denied Data actions. + */ + @JsonProperty(value = "notDataActions") + private List notDataActions; + + /** + * Get the actions property: Allowed actions. + * + * @return the actions value. + */ + public List actions() { + return this.actions; + } + + /** + * Set the actions property: Allowed actions. + * + * @param actions the actions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withActions(List actions) { + this.actions = actions; + return this; + } + + /** + * Get the notActions property: Denied actions. + * + * @return the notActions value. + */ + public List notActions() { + return this.notActions; + } + + /** + * Set the notActions property: Denied actions. + * + * @param notActions the notActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withNotActions(List notActions) { + this.notActions = notActions; + return this; + } + + /** + * Get the dataActions property: Allowed Data actions. + * + * @return the dataActions value. + */ + public List dataActions() { + return this.dataActions; + } + + /** + * Set the dataActions property: Allowed Data actions. + * + * @param dataActions the dataActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withDataActions(List dataActions) { + this.dataActions = dataActions; + return this; + } + + /** + * Get the notDataActions property: Denied Data actions. + * + * @return the notDataActions value. + */ + public List notDataActions() { + return this.notDataActions; + } + + /** + * Set the notDataActions property: Denied Data actions. + * + * @param notDataActions the notDataActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withNotDataActions(List notDataActions) { + this.notDataActions = notDataActions; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java new file mode 100644 index 0000000000000..ee8f2d9035680 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java @@ -0,0 +1,185 @@ +// Copyright (c) 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.ProviderOperation; +import com.azure.resourcemanager.authorization.generated.models.ResourceType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Provider Operations metadata. */ +@Fluent +public final class ProviderOperationsMetadataInner { + /* + * The provider id. + */ + @JsonProperty(value = "id") + private String id; + + /* + * The provider name. + */ + @JsonProperty(value = "name") + private String name; + + /* + * The provider type. + */ + @JsonProperty(value = "type") + private String type; + + /* + * The provider display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The provider resource types + */ + @JsonProperty(value = "resourceTypes") + private List resourceTypes; + + /* + * The provider operations. + */ + @JsonProperty(value = "operations") + private List operations; + + /** + * Get the id property: The provider id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: The provider id. + * + * @param id the id value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withId(String id) { + this.id = id; + return this; + } + + /** + * Get the name property: The provider name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: The provider name. + * + * @param name the name value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get the type property: The provider type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: The provider type. + * + * @param type the type value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withType(String type) { + this.type = type; + return this; + } + + /** + * Get the displayName property: The provider display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The provider display name. + * + * @param displayName the displayName value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the resourceTypes property: The provider resource types. + * + * @return the resourceTypes value. + */ + public List resourceTypes() { + return this.resourceTypes; + } + + /** + * Set the resourceTypes property: The provider resource types. + * + * @param resourceTypes the resourceTypes value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withResourceTypes(List resourceTypes) { + this.resourceTypes = resourceTypes; + return this; + } + + /** + * Get the operations property: The provider operations. + * + * @return the operations value. + */ + public List operations() { + return this.operations; + } + + /** + * Set the operations property: The provider operations. + * + * @param operations the operations value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withOperations(List operations) { + this.operations = operations; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (resourceTypes() != null) { + resourceTypes().forEach(e -> e.validate()); + } + if (operations() != null) { + operations().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java new file mode 100644 index 0000000000000..d98650d631b98 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java @@ -0,0 +1,251 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignments. */ +@Fluent +public final class RoleAssignmentInner extends ProxyResource { + /* + * Role assignment properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentProperties innerProperties; + + /** + * Get the innerProperties property: Role assignment properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the description property: Description of role assignment. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: Description of role assignment. + * + * @param description the description value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Get the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + public String createdBy() { + return this.innerProperties() == null ? null : this.innerProperties().createdBy(); + } + + /** + * Get the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + public String updatedBy() { + return this.innerProperties() == null ? null : this.innerProperties().updatedBy(); + } + + /** + * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + public String delegatedManagedIdentityResourceId() { + return this.innerProperties() == null ? null : this.innerProperties().delegatedManagedIdentityResourceId(); + } + + /** + * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDelegatedManagedIdentityResourceId(delegatedManagedIdentityResourceId); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java new file mode 100644 index 0000000000000..5ace840bccaf9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role Assignment Metrics. */ +@Immutable +public final class RoleAssignmentMetricsResultInner { + /* + * The subscription ID. + */ + @JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY) + private String subscriptionId; + + /* + * The role assignment limit. + */ + @JsonProperty(value = "roleAssignmentsLimit", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsLimit; + + /* + * The number of current role assignments. + */ + @JsonProperty(value = "roleAssignmentsCurrentCount", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsCurrentCount; + + /* + * The number of remaining role assignments available. + */ + @JsonProperty(value = "roleAssignmentsRemainingCount", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsRemainingCount; + + /** + * Get the subscriptionId property: The subscription ID. + * + * @return the subscriptionId value. + */ + public String subscriptionId() { + return this.subscriptionId; + } + + /** + * Get the roleAssignmentsLimit property: The role assignment limit. + * + * @return the roleAssignmentsLimit value. + */ + public Long roleAssignmentsLimit() { + return this.roleAssignmentsLimit; + } + + /** + * Get the roleAssignmentsCurrentCount property: The number of current role assignments. + * + * @return the roleAssignmentsCurrentCount value. + */ + public Long roleAssignmentsCurrentCount() { + return this.roleAssignmentsCurrentCount; + } + + /** + * Get the roleAssignmentsRemainingCount property: The number of remaining role assignments available. + * + * @return the roleAssignmentsRemainingCount value. + */ + public Long roleAssignmentsRemainingCount() { + return this.roleAssignmentsRemainingCount; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java new file mode 100644 index 0000000000000..b79bf2a395040 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java @@ -0,0 +1,301 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment properties. */ +@Fluent +public final class RoleAssignmentProperties { + /* + * The role assignment scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Description of role assignment + */ + @JsonProperty(value = "description") + private String description; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * Time it was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Time it was updated + */ + @JsonProperty(value = "updatedOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime updatedOn; + + /* + * Id of the user who created the assignment + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private String createdBy; + + /* + * Id of the user who updated the assignment + */ + @JsonProperty(value = "updatedBy", access = JsonProperty.Access.WRITE_ONLY) + private String updatedBy; + + /* + * Id of the delegated managed identity resource + */ + @JsonProperty(value = "delegatedManagedIdentityResourceId") + private String delegatedManagedIdentityResourceId; + + /** + * Get the scope property: The role assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the description property: Description of role assignment. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: Description of role assignment. + * + * @param description the description value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Get the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + public String createdBy() { + return this.createdBy; + } + + /** + * Get the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + public String updatedBy() { + return this.updatedBy; + } + + /** + * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + public String delegatedManagedIdentityResourceId() { + return this.delegatedManagedIdentityResourceId; + } + + /** + * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) { + this.delegatedManagedIdentityResourceId = delegatedManagedIdentityResourceId; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model RoleAssignmentProperties")); + } + if (principalId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleAssignmentProperties")); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentProperties.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java new file mode 100644 index 0000000000000..9d27785898564 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java @@ -0,0 +1,465 @@ +// Copyright (c) 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.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleInner { + /* + * The role assignment schedule Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleProperties innerProperties; + + /** + * Get the id property: The role assignment schedule Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleAssignmentScheduleRequestId value. + */ + public String roleAssignmentScheduleRequestId() { + return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleRequestId(); + } + + /** + * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withRoleAssignmentScheduleRequestId(String roleAssignmentScheduleRequestId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withRoleAssignmentScheduleRequestId(roleAssignmentScheduleRequestId); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withLinkedRoleEligibilityScheduleId(String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.innerProperties() == null ? null : this.innerProperties().assignmentType(); + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withAssignmentType(AssignmentType assignmentType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withAssignmentType(assignmentType); + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role assignment schedule. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role assignment schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: Start DateTime when role assignment schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: End DateTime when role assignment schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: End DateTime when role assignment schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the updatedOn property: DateTime when role assignment schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Set the updatedOn property: DateTime when role assignment schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withUpdatedOn(OffsetDateTime updatedOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withUpdatedOn(updatedOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java new file mode 100644 index 0000000000000..c153f33d26346 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java @@ -0,0 +1,488 @@ +// Copyright (c) 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.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Information about current or upcoming role assignment schedule instance. */ +@Fluent +public final class RoleAssignmentScheduleInstanceInner { + /* + * The role assignment schedule instance ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule instance name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule instance type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule instance properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleInstanceProperties innerProperties; + + /** + * Get the id property: The role assignment schedule instance ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule instance name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule instance type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule instance properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @return the roleAssignmentScheduleId value. + */ + public String roleAssignmentScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleId(); + } + + /** + * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withRoleAssignmentScheduleId(String roleAssignmentScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withRoleAssignmentScheduleId(roleAssignmentScheduleId); + return this; + } + + /** + * Get the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @return the originRoleAssignmentId value. + */ + public String originRoleAssignmentId() { + return this.innerProperties() == null ? null : this.innerProperties().originRoleAssignmentId(); + } + + /** + * Set the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @param originRoleAssignmentId the originRoleAssignmentId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withOriginRoleAssignmentId(String originRoleAssignmentId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withOriginRoleAssignmentId(originRoleAssignmentId); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role assignment schedule instance. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @return the linkedRoleEligibilityScheduleInstanceId value. + */ + public String linkedRoleEligibilityScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleInstanceId(); + } + + /** + * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleInstanceId( + String linkedRoleEligibilityScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleInstanceId(linkedRoleEligibilityScheduleInstanceId); + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.innerProperties() == null ? null : this.innerProperties().assignmentType(); + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withAssignmentType(AssignmentType assignmentType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withAssignmentType(assignmentType); + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java new file mode 100644 index 0000000000000..4236513fe2961 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java @@ -0,0 +1,483 @@ +// Copyright (c) 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.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleInstanceProperties { + /* + * The role assignment schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Id of the master role assignment schedule + */ + @JsonProperty(value = "roleAssignmentScheduleId") + private String roleAssignmentScheduleId; + + /* + * Role Assignment Id in external system + */ + @JsonProperty(value = "originRoleAssignmentId") + private String originRoleAssignmentId; + + /* + * The status of the role assignment schedule instance. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * The startDateTime of the role assignment schedule instance + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The endDateTime of the role assignment schedule instance + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * roleEligibilityScheduleId used to activate + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleInstanceId") + private String linkedRoleEligibilityScheduleInstanceId; + + /* + * Assignment type of the role assignment schedule + */ + @JsonProperty(value = "assignmentType") + private AssignmentType assignmentType; + + /* + * Membership type of the role assignment schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @return the roleAssignmentScheduleId value. + */ + public String roleAssignmentScheduleId() { + return this.roleAssignmentScheduleId; + } + + /** + * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withRoleAssignmentScheduleId(String roleAssignmentScheduleId) { + this.roleAssignmentScheduleId = roleAssignmentScheduleId; + return this; + } + + /** + * Get the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @return the originRoleAssignmentId value. + */ + public String originRoleAssignmentId() { + return this.originRoleAssignmentId; + } + + /** + * Set the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @param originRoleAssignmentId the originRoleAssignmentId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withOriginRoleAssignmentId(String originRoleAssignmentId) { + this.originRoleAssignmentId = originRoleAssignmentId; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role assignment schedule instance. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @return the linkedRoleEligibilityScheduleInstanceId value. + */ + public String linkedRoleEligibilityScheduleInstanceId() { + return this.linkedRoleEligibilityScheduleInstanceId; + } + + /** + * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleInstanceId( + String linkedRoleEligibilityScheduleInstanceId) { + this.linkedRoleEligibilityScheduleInstanceId = linkedRoleEligibilityScheduleInstanceId; + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.assignmentType; + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withAssignmentType(AssignmentType assignmentType) { + this.assignmentType = assignmentType; + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java new file mode 100644 index 0000000000000..504001f2c4616 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java @@ -0,0 +1,460 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleProperties { + /* + * The role assignment schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule + */ + @JsonProperty(value = "roleAssignmentScheduleRequestId") + private String roleAssignmentScheduleRequestId; + + /* + * The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * Assignment type of the role assignment schedule + */ + @JsonProperty(value = "assignmentType") + private AssignmentType assignmentType; + + /* + * Membership type of the role assignment schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The status of the role assignment schedule. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * Start DateTime when role assignment schedule + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * End DateTime when role assignment schedule + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * DateTime when role assignment schedule was modified + */ + @JsonProperty(value = "updatedOn") + private OffsetDateTime updatedOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleAssignmentScheduleRequestId value. + */ + public String roleAssignmentScheduleRequestId() { + return this.roleAssignmentScheduleRequestId; + } + + /** + * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withRoleAssignmentScheduleRequestId( + String roleAssignmentScheduleRequestId) { + this.roleAssignmentScheduleRequestId = roleAssignmentScheduleRequestId; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.assignmentType; + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withAssignmentType(AssignmentType assignmentType) { + this.assignmentType = assignmentType; + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role assignment schedule. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role assignment schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime when role assignment schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: End DateTime when role assignment schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime when role assignment schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the updatedOn property: DateTime when role assignment schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Set the updatedOn property: DateTime when role assignment schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) { + this.updatedOn = updatedOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java new file mode 100644 index 0000000000000..644cbda8bebab --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java @@ -0,0 +1,421 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignment schedule request. */ +@Fluent +public final class RoleAssignmentScheduleRequestInner { + /* + * The role assignment schedule request ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule request name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule request type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule request properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleRequestProperties innerProperties; + + /** + * Get the id property: The role assignment schedule request ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule request name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule request type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule request properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleRequestProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.innerProperties() == null ? null : this.innerProperties().requestType(); + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withRequestType(RequestType requestType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withRequestType(requestType); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule request. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the approvalId property: The approvalId of the role assignment schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.innerProperties() == null ? null : this.innerProperties().approvalId(); + } + + /** + * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @return the targetRoleAssignmentScheduleId value. + */ + public String targetRoleAssignmentScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleId(); + } + + /** + * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleId( + String targetRoleAssignmentScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleAssignmentScheduleId(targetRoleAssignmentScheduleId); + return this; + } + + /** + * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @return the targetRoleAssignmentScheduleInstanceId value. + */ + public String targetRoleAssignmentScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleInstanceId(); + } + + /** + * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleInstanceId( + String targetRoleAssignmentScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleAssignmentScheduleInstanceId(targetRoleAssignmentScheduleInstanceId); + return this; + } + + /** + * Get the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @return the scheduleInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo(); + } + + /** + * Set the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withScheduleInfo( + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withScheduleInfo(scheduleInfo); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the justification property: Justification for the role assignment. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification for the role assignment. + * + * @param justification the justification value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role assignment. + * + * @return the ticketInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerProperties() == null ? null : this.innerProperties().ticketInfo(); + } + + /** + * Set the ticketInfo property: Ticket Info of the role assignment. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTicketInfo( + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTicketInfo(ticketInfo); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.innerProperties() == null ? null : this.innerProperties().requestorId(); + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java new file mode 100644 index 0000000000000..1b4ee456208d6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java @@ -0,0 +1,468 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule request properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleRequestProperties { + /* + * The role assignment schedule request scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private PrincipalType principalType; + + /* + * The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc + */ + @JsonProperty(value = "requestType", required = true) + private RequestType requestType; + + /* + * The status of the role assignment schedule request. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private Status status; + + /* + * The approvalId of the role assignment schedule request. + */ + @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY) + private String approvalId; + + /* + * The resultant role assignment schedule id or the role assignment + * schedule id being updated + */ + @JsonProperty(value = "targetRoleAssignmentScheduleId") + private String targetRoleAssignmentScheduleId; + + /* + * The role assignment schedule instance id being updated + */ + @JsonProperty(value = "targetRoleAssignmentScheduleInstanceId") + private String targetRoleAssignmentScheduleInstanceId; + + /* + * Schedule info of the role assignment schedule + */ + @JsonProperty(value = "scheduleInfo") + private RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo; + + /* + * The linked role eligibility schedule id - to activate an eligibility. + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * Justification for the role assignment + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Ticket Info of the role assignment + */ + @JsonProperty(value = "ticketInfo") + private RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule request was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Id of the user who created this request + */ + @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY) + private String requestorId; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY) + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.requestType; + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withRequestType(RequestType requestType) { + this.requestType = requestType; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule request. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Get the approvalId property: The approvalId of the role assignment schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.approvalId; + } + + /** + * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @return the targetRoleAssignmentScheduleId value. + */ + public String targetRoleAssignmentScheduleId() { + return this.targetRoleAssignmentScheduleId; + } + + /** + * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleId( + String targetRoleAssignmentScheduleId) { + this.targetRoleAssignmentScheduleId = targetRoleAssignmentScheduleId; + return this; + } + + /** + * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @return the targetRoleAssignmentScheduleInstanceId value. + */ + public String targetRoleAssignmentScheduleInstanceId() { + return this.targetRoleAssignmentScheduleInstanceId; + } + + /** + * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleInstanceId( + String targetRoleAssignmentScheduleInstanceId) { + this.targetRoleAssignmentScheduleInstanceId = targetRoleAssignmentScheduleInstanceId; + return this; + } + + /** + * Get the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @return the scheduleInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.scheduleInfo; + } + + /** + * Set the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withScheduleInfo( + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.scheduleInfo = scheduleInfo; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the justification property: Justification for the role assignment. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification for the role assignment. + * + * @param justification the justification value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role assignment. + * + * @return the ticketInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.ticketInfo; + } + + /** + * Set the ticketInfo property: Ticket Info of the role assignment. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTicketInfo( + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) { + this.ticketInfo = ticketInfo; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.requestorId; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model RoleAssignmentScheduleRequestProperties")); + } + if (principalId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleAssignmentScheduleRequestProperties")); + } + if (requestType() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property requestType in model RoleAssignmentScheduleRequestProperties")); + } + if (scheduleInfo() != null) { + scheduleInfo().validate(); + } + if (ticketInfo() != null) { + ticketInfo().validate(); + } + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentScheduleRequestProperties.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java new file mode 100644 index 0000000000000..d5d7c89e03a0c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java @@ -0,0 +1,199 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition. */ +@Fluent +public final class RoleDefinitionInner { + /* + * The role definition ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role definition name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role definition type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role definition properties. + */ + @JsonProperty(value = "properties") + private RoleDefinitionProperties innerProperties; + + /** + * Get the id property: The role definition ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role definition name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role definition type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role definition properties. + * + * @return the innerProperties value. + */ + private RoleDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the roleName property: The role name. + * + * @return the roleName value. + */ + public String roleName() { + return this.innerProperties() == null ? null : this.innerProperties().roleName(); + } + + /** + * Set the roleName property: The role name. + * + * @param roleName the roleName value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withRoleName(String roleName) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withRoleName(roleName); + return this; + } + + /** + * Get the description property: The role definition description. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The role definition description. + * + * @param description the description value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the roleType property: The role type. + * + * @return the roleType value. + */ + public String roleType() { + return this.innerProperties() == null ? null : this.innerProperties().roleType(); + } + + /** + * Set the roleType property: The role type. + * + * @param roleType the roleType value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withRoleType(String roleType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withRoleType(roleType); + return this; + } + + /** + * Get the permissions property: Role definition permissions. + * + * @return the permissions value. + */ + public List permissions() { + return this.innerProperties() == null ? null : this.innerProperties().permissions(); + } + + /** + * Set the permissions property: Role definition permissions. + * + * @param permissions the permissions value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withPermissions(List permissions) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withPermissions(permissions); + return this; + } + + /** + * Get the assignableScopes property: Role definition assignable scopes. + * + * @return the assignableScopes value. + */ + public List assignableScopes() { + return this.innerProperties() == null ? null : this.innerProperties().assignableScopes(); + } + + /** + * Set the assignableScopes property: Role definition assignable scopes. + * + * @param assignableScopes the assignableScopes value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withAssignableScopes(List assignableScopes) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withAssignableScopes(assignableScopes); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java new file mode 100644 index 0000000000000..fbd1c7d66bdbf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition properties. */ +@Fluent +public final class RoleDefinitionProperties { + /* + * The role name. + */ + @JsonProperty(value = "roleName") + private String roleName; + + /* + * The role definition description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * The role type. + */ + @JsonProperty(value = "type") + private String roleType; + + /* + * Role definition permissions. + */ + @JsonProperty(value = "permissions") + private List permissions; + + /* + * Role definition assignable scopes. + */ + @JsonProperty(value = "assignableScopes") + private List assignableScopes; + + /** + * Get the roleName property: The role name. + * + * @return the roleName value. + */ + public String roleName() { + return this.roleName; + } + + /** + * Set the roleName property: The role name. + * + * @param roleName the roleName value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withRoleName(String roleName) { + this.roleName = roleName; + return this; + } + + /** + * Get the description property: The role definition description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The role definition description. + * + * @param description the description value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the roleType property: The role type. + * + * @return the roleType value. + */ + public String roleType() { + return this.roleType; + } + + /** + * Set the roleType property: The role type. + * + * @param roleType the roleType value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withRoleType(String roleType) { + this.roleType = roleType; + return this; + } + + /** + * Get the permissions property: Role definition permissions. + * + * @return the permissions value. + */ + public List permissions() { + return this.permissions; + } + + /** + * Set the permissions property: Role definition permissions. + * + * @param permissions the permissions value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withPermissions(List permissions) { + this.permissions = permissions; + return this; + } + + /** + * Get the assignableScopes property: Role definition assignable scopes. + * + * @return the assignableScopes value. + */ + public List assignableScopes() { + return this.assignableScopes; + } + + /** + * Set the assignableScopes property: Role definition assignable scopes. + * + * @param assignableScopes the assignableScopes value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withAssignableScopes(List assignableScopes) { + this.assignableScopes = assignableScopes; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (permissions() != null) { + permissions().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java new file mode 100644 index 0000000000000..efb89c01225d2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java @@ -0,0 +1,416 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleInner { + /* + * The role eligibility schedule Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * role eligibility schedule properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: role eligibility schedule properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleEligibilityScheduleRequestId value. + */ + public String roleEligibilityScheduleRequestId() { + return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleRequestId(); + } + + /** + * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withRoleEligibilityScheduleRequestId(String roleEligibilityScheduleRequestId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withRoleEligibilityScheduleRequestId(roleEligibilityScheduleRequestId); + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role eligibility schedule. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role eligibility schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: Start DateTime when role eligibility schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: End DateTime when role eligibility schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: End DateTime when role eligibility schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Set the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withUpdatedOn(OffsetDateTime updatedOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withUpdatedOn(updatedOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java new file mode 100644 index 0000000000000..8f7feed1995b4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java @@ -0,0 +1,391 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Information about current or upcoming role eligibility schedule instance. */ +@Fluent +public final class RoleEligibilityScheduleInstanceInner { + /* + * The role eligibility schedule instance ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule instance name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule instance type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role eligibility schedule instance properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleInstanceProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule instance ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule instance name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule instance type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role eligibility schedule instance properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @return the roleEligibilityScheduleId value. + */ + public String roleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleId(); + } + + /** + * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withRoleEligibilityScheduleId(String roleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withRoleEligibilityScheduleId(roleEligibilityScheduleId); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role eligibility schedule instance. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java new file mode 100644 index 0000000000000..50e1bc8c9ee7b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java @@ -0,0 +1,373 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleInstanceProperties { + /* + * The role eligibility schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Id of the master role eligibility schedule + */ + @JsonProperty(value = "roleEligibilityScheduleId") + private String roleEligibilityScheduleId; + + /* + * The status of the role eligibility schedule instance + */ + @JsonProperty(value = "status") + private Status status; + + /* + * The startDateTime of the role eligibility schedule instance + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The endDateTime of the role eligibility schedule instance + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * Membership type of the role eligibility schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @return the roleEligibilityScheduleId value. + */ + public String roleEligibilityScheduleId() { + return this.roleEligibilityScheduleId; + } + + /** + * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withRoleEligibilityScheduleId(String roleEligibilityScheduleId) { + this.roleEligibilityScheduleId = roleEligibilityScheduleId; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role eligibility schedule instance. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java new file mode 100644 index 0000000000000..88672e8fa6e7c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java @@ -0,0 +1,403 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleProperties { + /* + * The role eligibility schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule + */ + @JsonProperty(value = "roleEligibilityScheduleRequestId") + private String roleEligibilityScheduleRequestId; + + /* + * Membership type of the role eligibility schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The status of the role eligibility schedule. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * Start DateTime when role eligibility schedule + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * End DateTime when role eligibility schedule + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * DateTime when role eligibility schedule was modified + */ + @JsonProperty(value = "updatedOn") + private OffsetDateTime updatedOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleEligibilityScheduleRequestId value. + */ + public String roleEligibilityScheduleRequestId() { + return this.roleEligibilityScheduleRequestId; + } + + /** + * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withRoleEligibilityScheduleRequestId( + String roleEligibilityScheduleRequestId) { + this.roleEligibilityScheduleRequestId = roleEligibilityScheduleRequestId; + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role eligibility schedule. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role eligibility schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime when role eligibility schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: End DateTime when role eligibility schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime when role eligibility schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Set the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) { + this.updatedOn = updatedOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java new file mode 100644 index 0000000000000..a0139e4d42efa --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java @@ -0,0 +1,397 @@ +// Copyright (c) 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.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Eligibility schedule request. */ +@Fluent +public final class RoleEligibilityScheduleRequestInner { + /* + * The role eligibility schedule request ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule request name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule request type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role eligibility schedule request properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleRequestProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule request ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule request name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule request type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role eligibility schedule request properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleRequestProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.innerProperties() == null ? null : this.innerProperties().requestType(); + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withRequestType(RequestType requestType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withRequestType(requestType); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule request. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the approvalId property: The approvalId of the role eligibility schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.innerProperties() == null ? null : this.innerProperties().approvalId(); + } + + /** + * Get the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @return the scheduleInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo(); + } + + /** + * Set the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withScheduleInfo( + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withScheduleInfo(scheduleInfo); + return this; + } + + /** + * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @return the targetRoleEligibilityScheduleId value. + */ + public String targetRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleId(); + } + + /** + * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleId( + String targetRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleEligibilityScheduleId(targetRoleEligibilityScheduleId); + return this; + } + + /** + * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @return the targetRoleEligibilityScheduleInstanceId value. + */ + public String targetRoleEligibilityScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleInstanceId(); + } + + /** + * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleInstanceId( + String targetRoleEligibilityScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleEligibilityScheduleInstanceId(targetRoleEligibilityScheduleInstanceId); + return this; + } + + /** + * Get the justification property: Justification for the role eligibility. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification for the role eligibility. + * + * @param justification the justification value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role eligibility. + * + * @return the ticketInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerProperties() == null ? null : this.innerProperties().ticketInfo(); + } + + /** + * Set the ticketInfo property: Ticket Info of the role eligibility. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTicketInfo( + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTicketInfo(ticketInfo); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.innerProperties() == null ? null : this.innerProperties().requestorId(); + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java new file mode 100644 index 0000000000000..2f1486a355951 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java @@ -0,0 +1,442 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule request properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleRequestProperties { + /* + * The role eligibility schedule request scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private PrincipalType principalType; + + /* + * The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc + */ + @JsonProperty(value = "requestType", required = true) + private RequestType requestType; + + /* + * The status of the role eligibility schedule request. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private Status status; + + /* + * The approvalId of the role eligibility schedule request. + */ + @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY) + private String approvalId; + + /* + * Schedule info of the role eligibility schedule + */ + @JsonProperty(value = "scheduleInfo") + private RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo; + + /* + * The resultant role eligibility schedule id or the role eligibility + * schedule id being updated + */ + @JsonProperty(value = "targetRoleEligibilityScheduleId") + private String targetRoleEligibilityScheduleId; + + /* + * The role eligibility schedule instance id being updated + */ + @JsonProperty(value = "targetRoleEligibilityScheduleInstanceId") + private String targetRoleEligibilityScheduleInstanceId; + + /* + * Justification for the role eligibility + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Ticket Info of the role eligibility + */ + @JsonProperty(value = "ticketInfo") + private RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule request was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Id of the user who created this request + */ + @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY) + private String requestorId; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY) + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.requestType; + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withRequestType(RequestType requestType) { + this.requestType = requestType; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule request. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Get the approvalId property: The approvalId of the role eligibility schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.approvalId; + } + + /** + * Get the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @return the scheduleInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.scheduleInfo; + } + + /** + * Set the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withScheduleInfo( + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.scheduleInfo = scheduleInfo; + return this; + } + + /** + * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @return the targetRoleEligibilityScheduleId value. + */ + public String targetRoleEligibilityScheduleId() { + return this.targetRoleEligibilityScheduleId; + } + + /** + * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleId( + String targetRoleEligibilityScheduleId) { + this.targetRoleEligibilityScheduleId = targetRoleEligibilityScheduleId; + return this; + } + + /** + * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @return the targetRoleEligibilityScheduleInstanceId value. + */ + public String targetRoleEligibilityScheduleInstanceId() { + return this.targetRoleEligibilityScheduleInstanceId; + } + + /** + * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleInstanceId( + String targetRoleEligibilityScheduleInstanceId) { + this.targetRoleEligibilityScheduleInstanceId = targetRoleEligibilityScheduleInstanceId; + return this; + } + + /** + * Get the justification property: Justification for the role eligibility. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification for the role eligibility. + * + * @param justification the justification value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role eligibility. + * + * @return the ticketInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.ticketInfo; + } + + /** + * Set the ticketInfo property: Ticket Info of the role eligibility. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTicketInfo( + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) { + this.ticketInfo = ticketInfo; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.requestorId; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model" + + " RoleEligibilityScheduleRequestProperties")); + } + if (principalId() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleEligibilityScheduleRequestProperties")); + } + if (requestType() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property requestType in model RoleEligibilityScheduleRequestProperties")); + } + if (scheduleInfo() != null) { + scheduleInfo().validate(); + } + if (ticketInfo() != null) { + ticketInfo().validate(); + } + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(RoleEligibilityScheduleRequestProperties.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java new file mode 100644 index 0000000000000..b7d64aa038ea3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.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.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.PolicyAssignmentProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role management policy. */ +@Fluent +public final class RoleManagementPolicyAssignmentInner { + /* + * The role management policy Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role management policy name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role management policy type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role management policy properties. + */ + @JsonProperty(value = "properties") + private RoleManagementPolicyAssignmentProperties innerProperties; + + /** + * Get the id property: The role management policy Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role management policy name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role management policy type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role management policy properties. + * + * @return the innerProperties value. + */ + private RoleManagementPolicyAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition of management policy assignment. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition of management policy assignment. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the policyId property: The policy id role management policy assignment. + * + * @return the policyId value. + */ + public String policyId() { + return this.innerProperties() == null ? null : this.innerProperties().policyId(); + } + + /** + * Set the policyId property: The policy id role management policy assignment. + * + * @param policyId the policyId value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withPolicyId(String policyId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withPolicyId(policyId); + return this; + } + + /** + * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy. + * + * @return the policyAssignmentProperties value. + */ + public PolicyAssignmentProperties policyAssignmentProperties() { + return this.innerProperties() == null ? null : this.innerProperties().policyAssignmentProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java new file mode 100644 index 0000000000000..7421b67d24f02 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java @@ -0,0 +1,117 @@ +// Copyright (c) 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.PolicyAssignmentProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role management policy assignment properties with scope. */ +@Fluent +public final class RoleManagementPolicyAssignmentProperties { + /* + * The role management policy scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition of management policy assignment. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The policy id role management policy assignment. + */ + @JsonProperty(value = "policyId") + private String policyId; + + /* + * Additional properties of scope, role definition and policy + */ + @JsonProperty(value = "policyAssignmentProperties", access = JsonProperty.Access.WRITE_ONLY) + private PolicyAssignmentProperties policyAssignmentProperties; + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition of management policy assignment. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition of management policy assignment. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the policyId property: The policy id role management policy assignment. + * + * @return the policyId value. + */ + public String policyId() { + return this.policyId; + } + + /** + * Set the policyId property: The policy id role management policy assignment. + * + * @param policyId the policyId value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withPolicyId(String policyId) { + this.policyId = policyId; + return this; + } + + /** + * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy. + * + * @return the policyAssignmentProperties value. + */ + public PolicyAssignmentProperties policyAssignmentProperties() { + return this.policyAssignmentProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (policyAssignmentProperties() != null) { + policyAssignmentProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java new file mode 100644 index 0000000000000..37992d30a3f7d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java @@ -0,0 +1,239 @@ +// Copyright (c) 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.PolicyProperties; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Role management policy. */ +@Fluent +public final class RoleManagementPolicyInner { + /* + * The role management policy Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role management policy name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role management policy type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role management policy properties. + */ + @JsonProperty(value = "properties") + private RoleManagementPolicyProperties innerProperties; + + /** + * Get the id property: The role management policy Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role management policy name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role management policy type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role management policy properties. + * + * @return the innerProperties value. + */ + private RoleManagementPolicyProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the displayName property: The role management policy display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The role management policy display name. + * + * @param displayName the displayName value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the description property: The role management policy description. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The role management policy description. + * + * @param description the description value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the isOrganizationDefault property: The role management policy is default policy. + * + * @return the isOrganizationDefault value. + */ + public Boolean isOrganizationDefault() { + return this.innerProperties() == null ? null : this.innerProperties().isOrganizationDefault(); + } + + /** + * Set the isOrganizationDefault property: The role management policy is default policy. + * + * @param isOrganizationDefault the isOrganizationDefault value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withIsOrganizationDefault(Boolean isOrganizationDefault) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withIsOrganizationDefault(isOrganizationDefault); + return this; + } + + /** + * Get the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + public Principal lastModifiedBy() { + return this.innerProperties() == null ? null : this.innerProperties().lastModifiedBy(); + } + + /** + * Get the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().lastModifiedDateTime(); + } + + /** + * Get the rules property: The rule applied to the policy. + * + * @return the rules value. + */ + public List rules() { + return this.innerProperties() == null ? null : this.innerProperties().rules(); + } + + /** + * Set the rules property: The rule applied to the policy. + * + * @param rules the rules value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withRules(List rules) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withRules(rules); + return this; + } + + /** + * Get the effectiveRules property: The readonly computed rule applied to the policy. + * + * @return the effectiveRules value. + */ + public List effectiveRules() { + return this.innerProperties() == null ? null : this.innerProperties().effectiveRules(); + } + + /** + * Get the policyProperties property: Additional properties of scope. + * + * @return the policyProperties value. + */ + public PolicyProperties policyProperties() { + return this.innerProperties() == null ? null : this.innerProperties().policyProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java new file mode 100644 index 0000000000000..ed2c21503f2d5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java @@ -0,0 +1,227 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.models.PolicyProperties; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Role management policy properties with scope. */ +@Fluent +public final class RoleManagementPolicyProperties { + /* + * The role management policy scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role management policy display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The role management policy description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * The role management policy is default policy. + */ + @JsonProperty(value = "isOrganizationDefault") + private Boolean isOrganizationDefault; + + /* + * The name of the entity last modified it + */ + @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY) + private Principal lastModifiedBy; + + /* + * The last modified date time. + */ + @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastModifiedDateTime; + + /* + * The rule applied to the policy. + */ + @JsonProperty(value = "rules") + private List rules; + + /* + * The readonly computed rule applied to the policy. + */ + @JsonProperty(value = "effectiveRules", access = JsonProperty.Access.WRITE_ONLY) + private List effectiveRules; + + /* + * Additional properties of scope + */ + @JsonProperty(value = "policyProperties", access = JsonProperty.Access.WRITE_ONLY) + private PolicyProperties policyProperties; + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the displayName property: The role management policy display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The role management policy display name. + * + * @param displayName the displayName value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the description property: The role management policy description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The role management policy description. + * + * @param description the description value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the isOrganizationDefault property: The role management policy is default policy. + * + * @return the isOrganizationDefault value. + */ + public Boolean isOrganizationDefault() { + return this.isOrganizationDefault; + } + + /** + * Set the isOrganizationDefault property: The role management policy is default policy. + * + * @param isOrganizationDefault the isOrganizationDefault value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withIsOrganizationDefault(Boolean isOrganizationDefault) { + this.isOrganizationDefault = isOrganizationDefault; + return this; + } + + /** + * Get the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + public Principal lastModifiedBy() { + return this.lastModifiedBy; + } + + /** + * Get the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.lastModifiedDateTime; + } + + /** + * Get the rules property: The rule applied to the policy. + * + * @return the rules value. + */ + public List rules() { + return this.rules; + } + + /** + * Set the rules property: The rule applied to the policy. + * + * @param rules the rules value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withRules(List rules) { + this.rules = rules; + return this; + } + + /** + * Get the effectiveRules property: The readonly computed rule applied to the policy. + * + * @return the effectiveRules value. + */ + public List effectiveRules() { + return this.effectiveRules; + } + + /** + * Get the policyProperties property: Additional properties of scope. + * + * @return the policyProperties value. + */ + public PolicyProperties policyProperties() { + return this.policyProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (lastModifiedBy() != null) { + lastModifiedBy().validate(); + } + if (rules() != null) { + rules().forEach(e -> e.validate()); + } + if (effectiveRules() != null) { + effectiveRules().forEach(e -> e.validate()); + } + if (policyProperties() != null) { + policyProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java new file mode 100644 index 0000000000000..cd091e90b89c4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.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.Fluent; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponseErrorInfo; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Validation response. */ +@Fluent +public final class ValidationResponseInner { + /* + * Whether or not validation succeeded + */ + @JsonProperty(value = "isValid", access = JsonProperty.Access.WRITE_ONLY) + private Boolean isValid; + + /* + * Failed validation result details + */ + @JsonProperty(value = "errorInfo") + private ValidationResponseErrorInfo errorInfo; + + /** + * Get the isValid property: Whether or not validation succeeded. + * + * @return the isValid value. + */ + public Boolean isValid() { + return this.isValid; + } + + /** + * Get the errorInfo property: Failed validation result details. + * + * @return the errorInfo value. + */ + public ValidationResponseErrorInfo errorInfo() { + return this.errorInfo; + } + + /** + * Set the errorInfo property: Failed validation result details. + * + * @param errorInfo the errorInfo value to set. + * @return the ValidationResponseInner object itself. + */ + public ValidationResponseInner withErrorInfo(ValidationResponseErrorInfo errorInfo) { + this.errorInfo = errorInfo; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (errorInfo() != null) { + errorInfo().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java new file mode 100644 index 0000000000000..3d9e7ab600b84 --- /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,10 @@ +// 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. Role based access control provides you a + * way to apply granular level policy administration down to individual resources or resource groups. These calls handle + * provider operations. + */ +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..ef45bb941ea75 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java @@ -0,0 +1,10 @@ +// 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. Role based access control provides you a + * way to apply granular level policy administration down to individual resources or resource groups. These calls handle + * provider operations. + */ +package com.azure.resourcemanager.authorization.generated.fluent; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java new file mode 100644 index 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..c125a412d3247 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.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.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.OffsetDateTime; + +public final class AccessReviewDefaultSettingsImpl implements AccessReviewDefaultSettings { + private AccessReviewDefaultSettingsInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewDefaultSettingsImpl( + AccessReviewDefaultSettingsInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public Boolean mailNotificationsEnabled() { + return this.innerModel().mailNotificationsEnabled(); + } + + public Boolean reminderNotificationsEnabled() { + return this.innerModel().reminderNotificationsEnabled(); + } + + public Boolean defaultDecisionEnabled() { + return this.innerModel().defaultDecisionEnabled(); + } + + public Boolean justificationRequiredOnApproval() { + return this.innerModel().justificationRequiredOnApproval(); + } + + public DefaultDecisionType defaultDecision() { + return this.innerModel().defaultDecision(); + } + + public Boolean autoApplyDecisionsEnabled() { + return this.innerModel().autoApplyDecisionsEnabled(); + } + + public Boolean recommendationsEnabled() { + return this.innerModel().recommendationsEnabled(); + } + + public Integer instanceDurationInDays() { + return this.innerModel().instanceDurationInDays(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public 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..2331a99900cb5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.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.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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync() { + return getWithResponseAsync() + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get access review default settings for the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner get() { + return getAsync().block(); + } + + /** + * Get access review default settings for the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .put( + this.client.getEndpoint(), + apiVersion, + this.client.getSubscriptionId(), + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> putWithResponseAsync( + AccessReviewScheduleSettings properties, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .put(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), properties, accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono putAsync(AccessReviewScheduleSettings properties) { + return putWithResponseAsync(properties) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDefaultSettingsInner put(AccessReviewScheduleSettings properties) { + return putAsync(properties).block(); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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/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..61916612bb78c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java @@ -0,0 +1,380 @@ +// Copyright (c) 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + 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..aeefc1e102363 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import java.time.OffsetDateTime; + +public final class AccessReviewInstanceImpl implements AccessReviewInstance { + private AccessReviewInstanceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewInstanceImpl( + AccessReviewInstanceInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AccessReviewInstanceStatus status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public AccessReviewInstanceInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java new file mode 100644 index 0000000000000..8ce5a7883a0d4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java @@ -0,0 +1,707 @@ +// Copyright (c) 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, filter, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list( + String scheduleDefinitionId, String id, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, filter, context)); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, String decisionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision along with {@link Response} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, String decisionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById(this.client.getEndpoint(), scheduleDefinitionId, id, decisionId, apiVersion, accept, context); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id, String decisionId) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, decisionId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId) { + return getByIdAsync(scheduleDefinitionId, id, decisionId).block(); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> patchWithResponseAsync( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (decisionId == null) { + return Mono.error(new IllegalArgumentException("Parameter decisionId is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono patchAsync( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + return patchWithResponseAsync(scheduleDefinitionId, id, decisionId, properties) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewDecisionInner patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + return patchAsync(scheduleDefinitionId, id, decisionId, properties).block(); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review 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..8d2d987e99dfc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java @@ -0,0 +1,806 @@ +// Copyright (c) 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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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((Response res) -> Mono.empty()); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void stop(String scheduleDefinitionId, String id) { + stopAsync(scheduleDefinitionId, id).block(); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .resetDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .resetDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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((Response res) -> Mono.empty()); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void resetDecisions(String scheduleDefinitionId, String id) { + resetDecisionsAsync(scheduleDefinitionId, id).block(); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .applyDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .applyDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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((Response res) -> Mono.empty()); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void applyDecisions(String scheduleDefinitionId, String id) { + applyDecisionsAsync(scheduleDefinitionId, id).block(); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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> sendRemindersWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .sendReminders( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> sendRemindersWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .sendReminders( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono sendRemindersAsync(String scheduleDefinitionId, String id) { + return sendRemindersWithResponseAsync(scheduleDefinitionId, id).flatMap((Response res) -> Mono.empty()); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void sendReminders(String scheduleDefinitionId, String id) { + sendRemindersAsync(scheduleDefinitionId, id).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. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context) { + return sendRemindersWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> acceptRecommendationsWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .acceptRecommendations( + this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> acceptRecommendationsWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .acceptRecommendations(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono acceptRecommendationsAsync(String scheduleDefinitionId, String id) { + return acceptRecommendationsWithResponseAsync(scheduleDefinitionId, id) + .flatMap((Response res) -> Mono.empty()); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void acceptRecommendations(String scheduleDefinitionId, String id) { + acceptRecommendationsAsync(scheduleDefinitionId, id).block(); + } + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context) { + return acceptRecommendationsWithResponseAsync(scheduleDefinitionId, id, context).block(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java new file mode 100644 index 0000000000000..92dc37176626b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceOperations; + +public final class AccessReviewInstanceOperationsImpl implements AccessReviewInstanceOperations { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstanceOperationsImpl.class); + + private final AccessReviewInstanceOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceOperationsImpl( + AccessReviewInstanceOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public void stop(String scheduleDefinitionId, String id) { + this.serviceClient().stop(scheduleDefinitionId, id); + } + + public Response stopWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().stopWithResponse(scheduleDefinitionId, id, context); + } + + public void resetDecisions(String scheduleDefinitionId, String id) { + this.serviceClient().resetDecisions(scheduleDefinitionId, id); + } + + public Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().resetDecisionsWithResponse(scheduleDefinitionId, id, context); + } + + public void applyDecisions(String scheduleDefinitionId, String id) { + this.serviceClient().applyDecisions(scheduleDefinitionId, id); + } + + public Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().applyDecisionsWithResponse(scheduleDefinitionId, id, context); + } + + public void sendReminders(String scheduleDefinitionId, String id) { + this.serviceClient().sendReminders(scheduleDefinitionId, id); + } + + public Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().sendRemindersWithResponse(scheduleDefinitionId, id, context); + } + + public void acceptRecommendations(String scheduleDefinitionId, String id) { + this.serviceClient().acceptRecommendations(scheduleDefinitionId, id); + } + + public Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context) { + return this.serviceClient().acceptRecommendationsWithResponse(scheduleDefinitionId, id, context); + } + + private AccessReviewInstanceOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java new file mode 100644 index 0000000000000..634b835d11f2f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,474 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstancesAssignedForMyApprovalsClient. + */ +public final class AccessReviewInstancesAssignedForMyApprovalsClientImpl + implements AccessReviewInstancesAssignedForMyApprovalsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstancesAssignedForMyApprovalsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstancesAssignedForMyApprovalsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstancesAssignedForMyApprovalsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstancesAssignedForMyApprovalsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientAccessReviewInstancesAssignedForMyApprovals to be used by the proxy service to + * perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewInstancesAssignedForMyApprovalsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, filter, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter, context)); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.getById(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id) { + return getByIdWithResponseAsync(scheduleDefinitionId, id) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner getById(String scheduleDefinitionId, String id) { + return getByIdAsync(scheduleDefinitionId, id).block(); + } + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * Get 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 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 Instances along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java new file mode 100644 index 0000000000000..f30f880f77e5c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstancesAssignedForMyApprovals; + +public final class AccessReviewInstancesAssignedForMyApprovalsImpl + implements AccessReviewInstancesAssignedForMyApprovals { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstancesAssignedForMyApprovalsImpl.class); + + private final AccessReviewInstancesAssignedForMyApprovalsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstancesAssignedForMyApprovalsImpl( + AccessReviewInstancesAssignedForMyApprovalsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public AccessReviewInstance getById(String scheduleDefinitionId, String id) { + AccessReviewInstanceInner inner = this.serviceClient().getById(scheduleDefinitionId, id); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private AccessReviewInstancesAssignedForMyApprovalsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java new file mode 100644 index 0000000000000..de900f7d39bf1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java @@ -0,0 +1,523 @@ +// Copyright (c) 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.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstancesClient. */ +public final class AccessReviewInstancesClientImpl implements AccessReviewInstancesClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(AccessReviewInstancesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstances to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewInstancesService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @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/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @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 instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + 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 instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + 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 instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String filter) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + final String filter = null; + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync( + String scheduleDefinitionId, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, filter, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + final String filter = null; + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, filter, context)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId, String id) { + return getByIdWithResponseAsync(scheduleDefinitionId, id) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewInstanceInner getById(String scheduleDefinitionId, String id) { + return getByIdAsync(scheduleDefinitionId, id).block(); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, id, context).block(); + } + + /** + * Get 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 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 Instances along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java new file mode 100644 index 0000000000000..9ad47c5fdc166 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstances; + +public final class AccessReviewInstancesImpl implements AccessReviewInstances { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewInstancesImpl.class); + + private final AccessReviewInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstancesImpl( + AccessReviewInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String filter, Context context) { + PagedIterable inner = + this.serviceClient().list(scheduleDefinitionId, filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())); + } + + public AccessReviewInstance getById(String scheduleDefinitionId, String id) { + AccessReviewInstanceInner inner = this.serviceClient().getById(scheduleDefinitionId, id); + if (inner != null) { + return new AccessReviewInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private AccessReviewInstancesClient 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/AccessReviewScheduleDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java new file mode 100644 index 0000000000000..612e4ecd3505d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java @@ -0,0 +1,500 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstance; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopeAssignmentState; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class AccessReviewScheduleDefinitionImpl + implements AccessReviewScheduleDefinition, + AccessReviewScheduleDefinition.Definition, + AccessReviewScheduleDefinition.Update { + private AccessReviewScheduleDefinitionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public AccessReviewScheduleDefinitionStatus status() { + return this.innerModel().status(); + } + + public String descriptionForAdmins() { + return this.innerModel().descriptionForAdmins(); + } + + public String descriptionForReviewers() { + return this.innerModel().descriptionForReviewers(); + } + + public List reviewers() { + List inner = this.innerModel().reviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List backupReviewers() { + List inner = this.innerModel().backupReviewers(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.innerModel().reviewersType(); + } + + public List instances() { + List inner = this.innerModel().instances(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new AccessReviewInstanceImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public AccessReviewActorIdentityType principalType() { + return this.innerModel().principalType(); + } + + public String principalName() { + return this.innerModel().principalName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public Boolean mailNotificationsEnabled() { + return this.innerModel().mailNotificationsEnabled(); + } + + public Boolean reminderNotificationsEnabled() { + return this.innerModel().reminderNotificationsEnabled(); + } + + public Boolean defaultDecisionEnabled() { + return this.innerModel().defaultDecisionEnabled(); + } + + public Boolean justificationRequiredOnApproval() { + return this.innerModel().justificationRequiredOnApproval(); + } + + public DefaultDecisionType defaultDecision() { + return this.innerModel().defaultDecision(); + } + + public Boolean autoApplyDecisionsEnabled() { + return this.innerModel().autoApplyDecisionsEnabled(); + } + + public Boolean recommendationsEnabled() { + return this.innerModel().recommendationsEnabled(); + } + + public Integer instanceDurationInDays() { + return this.innerModel().instanceDurationInDays(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public AccessReviewRecurrenceRangeType typeRangeType() { + return this.innerModel().typeRangeType(); + } + + public Integer numberOfOccurrences() { + return this.innerModel().numberOfOccurrences(); + } + + public OffsetDateTime startDate() { + return this.innerModel().startDate(); + } + + public OffsetDateTime endDate() { + return this.innerModel().endDate(); + } + + public String resourceId() { + return this.innerModel().resourceId(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public AccessReviewScopePrincipalType principalTypeScopePrincipalType() { + return this.innerModel().principalTypeScopePrincipalType(); + } + + public AccessReviewScopeAssignmentState assignmentState() { + return this.innerModel().assignmentState(); + } + + public Duration inactiveDuration() { + return this.innerModel().inactiveDuration(); + } + + public AccessReviewScheduleDefinitionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scheduleDefinitionId; + + private AccessReviewScheduleDefinitionProperties createProperties; + + private AccessReviewScheduleDefinitionProperties updateProperties; + + public AccessReviewScheduleDefinition create() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, createProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, createProperties, context) + .getValue(); + return this; + } + + AccessReviewScheduleDefinitionImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new AccessReviewScheduleDefinitionInner(); + this.serviceManager = serviceManager; + this.scheduleDefinitionId = name; + this.createProperties = new AccessReviewScheduleDefinitionProperties(); + } + + public AccessReviewScheduleDefinitionImpl update() { + this.updateProperties = new AccessReviewScheduleDefinitionProperties(); + return this; + } + + public AccessReviewScheduleDefinition apply() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, updateProperties, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition apply(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .createOrUpdateByIdWithResponse(scheduleDefinitionId, updateProperties, context) + .getValue(); + return this; + } + + AccessReviewScheduleDefinitionImpl( + AccessReviewScheduleDefinitionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + this.scheduleDefinitionId = Utils.getValueFromIdByName(innerObject.id(), "accessReviewScheduleDefinitions"); + } + + public AccessReviewScheduleDefinition refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .getByIdWithResponse(scheduleDefinitionId, Context.NONE) + .getValue(); + return this; + } + + public AccessReviewScheduleDefinition refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getAccessReviewScheduleDefinitions() + .getByIdWithResponse(scheduleDefinitionId, context) + .getValue(); + return this; + } + + public void stop() { + serviceManager.accessReviewScheduleDefinitions().stop(scheduleDefinitionId); + } + + public Response stopWithResponse(Context context) { + return serviceManager.accessReviewScheduleDefinitions().stopWithResponse(scheduleDefinitionId, context); + } + + public AccessReviewScheduleDefinitionImpl withDisplayName(String displayName) { + if (isInCreateMode()) { + this.createProperties.withDisplayName(displayName); + return this; + } else { + this.updateProperties.withDisplayName(displayName); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDescriptionForAdmins(String descriptionForAdmins) { + if (isInCreateMode()) { + this.createProperties.withDescriptionForAdmins(descriptionForAdmins); + return this; + } else { + this.updateProperties.withDescriptionForAdmins(descriptionForAdmins); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDescriptionForReviewers(String descriptionForReviewers) { + if (isInCreateMode()) { + this.createProperties.withDescriptionForReviewers(descriptionForReviewers); + return this; + } else { + this.updateProperties.withDescriptionForReviewers(descriptionForReviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withReviewers(List reviewers) { + if (isInCreateMode()) { + this.createProperties.withReviewers(reviewers); + return this; + } else { + this.updateProperties.withReviewers(reviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withBackupReviewers(List backupReviewers) { + if (isInCreateMode()) { + this.createProperties.withBackupReviewers(backupReviewers); + return this; + } else { + this.updateProperties.withBackupReviewers(backupReviewers); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInstances(List instances) { + if (isInCreateMode()) { + this.createProperties.withInstances(instances); + return this; + } else { + this.updateProperties.withInstances(instances); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } else { + this.updateProperties.withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } else { + this.updateProperties.withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (isInCreateMode()) { + this.createProperties.withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } else { + this.updateProperties.withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (isInCreateMode()) { + this.createProperties.withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } else { + this.updateProperties.withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withDefaultDecision(DefaultDecisionType defaultDecision) { + if (isInCreateMode()) { + this.createProperties.withDefaultDecision(defaultDecision); + return this; + } else { + this.updateProperties.withDefaultDecision(defaultDecision); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (isInCreateMode()) { + this.createProperties.withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } else { + this.updateProperties.withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (isInCreateMode()) { + this.createProperties.withRecommendationsEnabled(recommendationsEnabled); + return this; + } else { + this.updateProperties.withRecommendationsEnabled(recommendationsEnabled); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInstanceDurationInDays(Integer instanceDurationInDays) { + if (isInCreateMode()) { + this.createProperties.withInstanceDurationInDays(instanceDurationInDays); + return this; + } else { + this.updateProperties.withInstanceDurationInDays(instanceDurationInDays); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withType(AccessReviewRecurrencePatternType type) { + if (isInCreateMode()) { + this.createProperties.withType(type); + return this; + } else { + this.updateProperties.withType(type); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withInterval(Integer interval) { + if (isInCreateMode()) { + this.createProperties.withInterval(interval); + return this; + } else { + this.updateProperties.withInterval(interval); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType) { + if (isInCreateMode()) { + this.createProperties.withTypeRangeType(typeRangeType); + return this; + } else { + this.updateProperties.withTypeRangeType(typeRangeType); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withNumberOfOccurrences(Integer numberOfOccurrences) { + if (isInCreateMode()) { + this.createProperties.withNumberOfOccurrences(numberOfOccurrences); + return this; + } else { + this.updateProperties.withNumberOfOccurrences(numberOfOccurrences); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withStartDate(OffsetDateTime startDate) { + if (isInCreateMode()) { + this.createProperties.withStartDate(startDate); + return this; + } else { + this.updateProperties.withStartDate(startDate); + return this; + } + } + + public AccessReviewScheduleDefinitionImpl withEndDate(OffsetDateTime endDate) { + if (isInCreateMode()) { + this.createProperties.withEndDate(endDate); + return this; + } else { + this.updateProperties.withEndDate(endDate); + return this; + } + } + + private boolean isInCreateMode() { + return this.innerModel().id() == null; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java new file mode 100644 index 0000000000000..0096430389bf5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,314 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient. + */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewScheduleDefinitionsAssignedForMyApprovalsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for + * AuthorizationManagementClientAccessReviewScheduleDefinitionsAssignedForMyApprovals to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewScheduleDefinitionsAssignedForMyApprovalsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/accessReviewScheduleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, filter, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instances assigned for my approval. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list of Access Review Schedule Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list of Access Review Schedule Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java new file mode 100644 index 0000000000000..b19783e7d9936 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionsAssignedForMyApprovals; + +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApprovals { + private static final ClientLogger LOGGER = + new ClientLogger(AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.class); + + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl( + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + private AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java new file mode 100644 index 0000000000000..87cfb3b0bab84 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java @@ -0,0 +1,939 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewScheduleDefinitionsClient. */ +public final class AccessReviewScheduleDefinitionsClientImpl implements AccessReviewScheduleDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final AccessReviewScheduleDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewScheduleDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewScheduleDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewScheduleDefinitionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewScheduleDefinitions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewScheduleDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @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/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @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/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createOrUpdateById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @BodyParam("application/json") AccessReviewScheduleDefinitionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @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 schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + apiVersion, + 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 schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, 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 schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review schedule definitions. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String scheduleDefinitionId) { + return getByIdWithResponseAsync(scheduleDefinitionId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId) { + return getByIdAsync(scheduleDefinitionId).block(); + } + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String scheduleDefinitionId, Context context) { + return getByIdWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteByIdWithResponseAsync(String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteByIdWithResponseAsync(String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .deleteById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteByIdAsync(String scheduleDefinitionId) { + return deleteByIdWithResponseAsync(scheduleDefinitionId).flatMap((Response res) -> Mono.empty()); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteById(String scheduleDefinitionId) { + deleteByIdAsync(scheduleDefinitionId).block(); + } + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByIdWithResponse(String scheduleDefinitionId, Context context) { + return deleteByIdWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createOrUpdateById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review Schedule Definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateByIdWithResponseAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (properties == null) { + return Mono.error(new IllegalArgumentException("Parameter properties is required and cannot be null.")); + } else { + properties.validate(); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .createOrUpdateById( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + properties, + accept, + context); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review Schedule Definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createOrUpdateByIdAsync( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdWithResponseAsync(scheduleDefinitionId, properties) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review Schedule Definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public AccessReviewScheduleDefinitionInner createOrUpdateById( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties) { + return createOrUpdateByIdAsync(scheduleDefinitionId, properties).block(); + } + + /** + * Create or Update access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review Schedule Definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateByIdWithResponse( + String scheduleDefinitionId, AccessReviewScheduleDefinitionProperties properties, Context context) { + return createOrUpdateByIdWithResponseAsync(scheduleDefinitionId, properties, context).block(); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> stopWithResponseAsync(String scheduleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> stopWithResponseAsync(String scheduleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono stopAsync(String scheduleDefinitionId) { + return stopWithResponseAsync(scheduleDefinitionId).flatMap((Response res) -> Mono.empty()); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void stop(String scheduleDefinitionId) { + stopAsync(scheduleDefinitionId).block(); + } + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response stopWithResponse(String scheduleDefinitionId, Context context) { + return stopWithResponseAsync(scheduleDefinitionId, context).block(); + } + + /** + * 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 Schedule Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list of Access Review Schedule Definitions along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java new file mode 100644 index 0000000000000..274facf8166ae --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinition; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitions; + +public final class AccessReviewScheduleDefinitionsImpl implements AccessReviewScheduleDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(AccessReviewScheduleDefinitionsImpl.class); + + private final AccessReviewScheduleDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewScheduleDefinitionsImpl( + AccessReviewScheduleDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewScheduleDefinitionImpl(inner1, this.manager())); + } + + public AccessReviewScheduleDefinition getById(String scheduleDefinitionId) { + AccessReviewScheduleDefinitionInner inner = this.serviceClient().getById(scheduleDefinitionId); + if (inner != null) { + return new AccessReviewScheduleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String scheduleDefinitionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewScheduleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public void deleteById(String scheduleDefinitionId) { + this.serviceClient().deleteById(scheduleDefinitionId); + } + + public Response deleteByIdWithResponse(String scheduleDefinitionId, Context context) { + return this.serviceClient().deleteByIdWithResponse(scheduleDefinitionId, context); + } + + public void stop(String scheduleDefinitionId) { + this.serviceClient().stop(scheduleDefinitionId); + } + + public Response stopWithResponse(String scheduleDefinitionId, Context context) { + return this.serviceClient().stopWithResponse(scheduleDefinitionId, context); + } + + private AccessReviewScheduleDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public AccessReviewScheduleDefinitionImpl define(String name) { + return new AccessReviewScheduleDefinitionImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java new file mode 100644 index 0000000000000..508c5e62f72b8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.java @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.management.AzureEnvironment; +import com.azure.core.management.serializer.SerializerFactory; +import com.azure.core.util.serializer.SerializerAdapter; +import java.time.Duration; + +/** A builder for creating a new instance of the AuthorizationManagementClientImpl type. */ +@ServiceClientBuilder(serviceClients = {AuthorizationManagementClientImpl.class}) +public final class AuthorizationManagementClientBuilder { + /* + * The ID of the target subscription. + */ + private String subscriptionId; + + /** + * Sets The ID of the target subscription. + * + * @param subscriptionId the subscriptionId value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder subscriptionId(String subscriptionId) { + this.subscriptionId = subscriptionId; + return this; + } + + /* + * server parameter + */ + private String endpoint; + + /** + * Sets server parameter. + * + * @param endpoint the endpoint value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder endpoint(String endpoint) { + this.endpoint = endpoint; + return this; + } + + /* + * The environment to connect to + */ + private AzureEnvironment environment; + + /** + * Sets The environment to connect to. + * + * @param environment the environment value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder environment(AzureEnvironment environment) { + this.environment = environment; + return this; + } + + /* + * The HTTP pipeline to send requests through + */ + private HttpPipeline pipeline; + + /** + * Sets The HTTP pipeline to send requests through. + * + * @param pipeline the pipeline value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder pipeline(HttpPipeline pipeline) { + this.pipeline = pipeline; + return this; + } + + /* + * The default poll interval for long-running operation + */ + private Duration defaultPollInterval; + + /** + * Sets The default poll interval for long-running operation. + * + * @param defaultPollInterval the defaultPollInterval value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder defaultPollInterval(Duration defaultPollInterval) { + this.defaultPollInterval = defaultPollInterval; + return this; + } + + /* + * The serializer to serialize an object into a string + */ + private SerializerAdapter serializerAdapter; + + /** + * Sets The serializer to serialize an object into a string. + * + * @param serializerAdapter the serializerAdapter value. + * @return the AuthorizationManagementClientBuilder. + */ + public AuthorizationManagementClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { + this.serializerAdapter = serializerAdapter; + return this; + } + + /** + * Builds an instance of AuthorizationManagementClientImpl with the provided parameters. + * + * @return an instance of AuthorizationManagementClientImpl. + */ + public AuthorizationManagementClientImpl buildClient() { + if (endpoint == null) { + this.endpoint = "https://management.azure.com"; + } + if (environment == null) { + this.environment = AzureEnvironment.AZURE; + } + if (pipeline == null) { + this.pipeline = new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build(); + } + if (defaultPollInterval == null) { + this.defaultPollInterval = Duration.ofSeconds(30); + } + if (serializerAdapter == null) { + this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter(); + } + AuthorizationManagementClientImpl client = + new AuthorizationManagementClientImpl( + pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint); + return client; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java new file mode 100644 index 0000000000000..5c51083f0742f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientImpl.java @@ -0,0 +1,606 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ServiceClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpResponse; +import com.azure.core.http.rest.Response; +import com.azure.core.management.AzureEnvironment; +import com.azure.core.management.exception.ManagementError; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.management.polling.PollResult; +import com.azure.core.management.polling.PollerFactory; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.core.util.polling.AsyncPollResponse; +import com.azure.core.util.polling.LongRunningOperationStatus; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.core.util.serializer.SerializerEncoding; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewScheduleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.AuthorizationManagementClient; +import com.azure.resourcemanager.authorization.generated.fluent.DenyAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.EligibleChildResourcesClient; +import com.azure.resourcemanager.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.PermissionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.ProviderOperationsMetadatasClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentMetricsClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentSchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilityScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilityScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilitySchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleManagementPoliciesClient; +import com.azure.resourcemanager.authorization.generated.fluent.RoleManagementPolicyAssignmentsClient; +import java.io.IOException; +import java.lang.reflect.Type; +import java.nio.ByteBuffer; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.time.Duration; +import java.util.Map; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the AuthorizationManagementClientImpl type. */ +@ServiceClient(builder = AuthorizationManagementClientBuilder.class) +public final class AuthorizationManagementClientImpl implements AuthorizationManagementClient { + /** The ID of the target subscription. */ + private final String subscriptionId; + + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + public String getSubscriptionId() { + return this.subscriptionId; + } + + /** server parameter. */ + private final String endpoint; + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** The default poll interval for long-running operation. */ + private final Duration defaultPollInterval; + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + public Duration getDefaultPollInterval() { + return this.defaultPollInterval; + } + + /** The ProviderOperationsMetadatasClient object to access its operations. */ + private final ProviderOperationsMetadatasClient providerOperationsMetadatas; + + /** + * Gets the ProviderOperationsMetadatasClient object to access its operations. + * + * @return the ProviderOperationsMetadatasClient object. + */ + public ProviderOperationsMetadatasClient getProviderOperationsMetadatas() { + return this.providerOperationsMetadatas; + } + + /** The PermissionsClient object to access its operations. */ + private final PermissionsClient permissions; + + /** + * Gets the PermissionsClient object to access its operations. + * + * @return the PermissionsClient object. + */ + public PermissionsClient getPermissions() { + return this.permissions; + } + + /** The RoleDefinitionsClient object to access its operations. */ + private final RoleDefinitionsClient roleDefinitions; + + /** + * Gets the RoleDefinitionsClient object to access its operations. + * + * @return the RoleDefinitionsClient object. + */ + public RoleDefinitionsClient getRoleDefinitions() { + return this.roleDefinitions; + } + + /** The DenyAssignmentsClient object to access its operations. */ + private final DenyAssignmentsClient denyAssignments; + + /** + * Gets the DenyAssignmentsClient object to access its operations. + * + * @return the DenyAssignmentsClient object. + */ + public DenyAssignmentsClient getDenyAssignments() { + return this.denyAssignments; + } + + /** The RoleAssignmentMetricsClient object to access its operations. */ + private final RoleAssignmentMetricsClient roleAssignmentMetrics; + + /** + * Gets the RoleAssignmentMetricsClient object to access its operations. + * + * @return the RoleAssignmentMetricsClient object. + */ + public RoleAssignmentMetricsClient getRoleAssignmentMetrics() { + return this.roleAssignmentMetrics; + } + + /** The EligibleChildResourcesClient object to access its operations. */ + private final EligibleChildResourcesClient eligibleChildResources; + + /** + * Gets the EligibleChildResourcesClient object to access its operations. + * + * @return the EligibleChildResourcesClient object. + */ + public EligibleChildResourcesClient getEligibleChildResources() { + return this.eligibleChildResources; + } + + /** The RoleAssignmentSchedulesClient object to access its operations. */ + private final RoleAssignmentSchedulesClient roleAssignmentSchedules; + + /** + * Gets the RoleAssignmentSchedulesClient object to access its operations. + * + * @return the RoleAssignmentSchedulesClient object. + */ + public RoleAssignmentSchedulesClient getRoleAssignmentSchedules() { + return this.roleAssignmentSchedules; + } + + /** The RoleAssignmentScheduleInstancesClient object to access its operations. */ + private final RoleAssignmentScheduleInstancesClient roleAssignmentScheduleInstances; + + /** + * Gets the RoleAssignmentScheduleInstancesClient object to access its operations. + * + * @return the RoleAssignmentScheduleInstancesClient object. + */ + public RoleAssignmentScheduleInstancesClient getRoleAssignmentScheduleInstances() { + return this.roleAssignmentScheduleInstances; + } + + /** The RoleAssignmentScheduleRequestsClient object to access its operations. */ + private final RoleAssignmentScheduleRequestsClient roleAssignmentScheduleRequests; + + /** + * Gets the RoleAssignmentScheduleRequestsClient object to access its operations. + * + * @return the RoleAssignmentScheduleRequestsClient object. + */ + public RoleAssignmentScheduleRequestsClient getRoleAssignmentScheduleRequests() { + return this.roleAssignmentScheduleRequests; + } + + /** The RoleEligibilitySchedulesClient object to access its operations. */ + private final RoleEligibilitySchedulesClient roleEligibilitySchedules; + + /** + * Gets the RoleEligibilitySchedulesClient object to access its operations. + * + * @return the RoleEligibilitySchedulesClient object. + */ + public RoleEligibilitySchedulesClient getRoleEligibilitySchedules() { + return this.roleEligibilitySchedules; + } + + /** The RoleEligibilityScheduleInstancesClient object to access its operations. */ + private final RoleEligibilityScheduleInstancesClient roleEligibilityScheduleInstances; + + /** + * Gets the RoleEligibilityScheduleInstancesClient object to access its operations. + * + * @return the RoleEligibilityScheduleInstancesClient object. + */ + public RoleEligibilityScheduleInstancesClient getRoleEligibilityScheduleInstances() { + return this.roleEligibilityScheduleInstances; + } + + /** The RoleEligibilityScheduleRequestsClient object to access its operations. */ + private final RoleEligibilityScheduleRequestsClient roleEligibilityScheduleRequests; + + /** + * Gets the RoleEligibilityScheduleRequestsClient object to access its operations. + * + * @return the RoleEligibilityScheduleRequestsClient object. + */ + public RoleEligibilityScheduleRequestsClient getRoleEligibilityScheduleRequests() { + return this.roleEligibilityScheduleRequests; + } + + /** The RoleManagementPoliciesClient object to access its operations. */ + private final RoleManagementPoliciesClient roleManagementPolicies; + + /** + * Gets the RoleManagementPoliciesClient object to access its operations. + * + * @return the RoleManagementPoliciesClient object. + */ + public RoleManagementPoliciesClient getRoleManagementPolicies() { + return this.roleManagementPolicies; + } + + /** The RoleManagementPolicyAssignmentsClient object to access its operations. */ + private final RoleManagementPolicyAssignmentsClient roleManagementPolicyAssignments; + + /** + * Gets the RoleManagementPolicyAssignmentsClient object to access its operations. + * + * @return the RoleManagementPolicyAssignmentsClient object. + */ + public RoleManagementPolicyAssignmentsClient getRoleManagementPolicyAssignments() { + return this.roleManagementPolicyAssignments; + } + + /** The OperationsClient object to access its operations. */ + private final OperationsClient operations; + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + public OperationsClient getOperations() { + return this.operations; + } + + /** The AccessReviewScheduleDefinitionsClient object to access its operations. */ + private final AccessReviewScheduleDefinitionsClient accessReviewScheduleDefinitions; + + /** + * Gets the AccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsClient object. + */ + public AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions() { + return this.accessReviewScheduleDefinitions; + } + + /** The AccessReviewInstancesClient object to access its operations. */ + private final AccessReviewInstancesClient accessReviewInstances; + + /** + * Gets the AccessReviewInstancesClient object to access its operations. + * + * @return the AccessReviewInstancesClient object. + */ + public AccessReviewInstancesClient getAccessReviewInstances() { + return this.accessReviewInstances; + } + + /** The AccessReviewInstanceOperationsClient object to access its operations. */ + private final AccessReviewInstanceOperationsClient accessReviewInstanceOperations; + + /** + * Gets the AccessReviewInstanceOperationsClient object to access its operations. + * + * @return the AccessReviewInstanceOperationsClient object. + */ + public AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations() { + return this.accessReviewInstanceOperations; + } + + /** The AccessReviewInstanceDecisionsClient object to access its operations. */ + private final AccessReviewInstanceDecisionsClient accessReviewInstanceDecisions; + + /** + * Gets the AccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceDecisionsClient object. + */ + public AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions() { + return this.accessReviewInstanceDecisions; + } + + /** The AccessReviewDefaultSettingsOperationsClient object to access its operations. */ + private final AccessReviewDefaultSettingsOperationsClient accessReviewDefaultSettingsOperations; + + /** + * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations. + * + * @return the AccessReviewDefaultSettingsOperationsClient object. + */ + public AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations() { + return this.accessReviewDefaultSettingsOperations; + } + + /** The AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. */ + private final AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + accessReviewScheduleDefinitionsAssignedForMyApprovals; + + /** + * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object. + */ + public AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + getAccessReviewScheduleDefinitionsAssignedForMyApprovals() { + return this.accessReviewScheduleDefinitionsAssignedForMyApprovals; + } + + /** The AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. */ + private final AccessReviewInstancesAssignedForMyApprovalsClient accessReviewInstancesAssignedForMyApprovals; + + /** + * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewInstancesAssignedForMyApprovalsClient object. + */ + public AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals() { + return this.accessReviewInstancesAssignedForMyApprovals; + } + + /** The AccessReviewInstanceMyDecisionsClient object to access its operations. */ + private final AccessReviewInstanceMyDecisionsClient accessReviewInstanceMyDecisions; + + /** + * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceMyDecisionsClient object. + */ + public AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions() { + return this.accessReviewInstanceMyDecisions; + } + + /** The RoleAssignmentsClient object to access its operations. */ + private final RoleAssignmentsClient roleAssignments; + + /** + * Gets the RoleAssignmentsClient object to access its operations. + * + * @return the RoleAssignmentsClient object. + */ + public RoleAssignmentsClient getRoleAssignments() { + return this.roleAssignments; + } + + /** + * Initializes an instance of AuthorizationManagementClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param defaultPollInterval The default poll interval for long-running operation. + * @param environment The Azure environment. + * @param subscriptionId The ID of the target subscription. + * @param endpoint server parameter. + */ + AuthorizationManagementClientImpl( + HttpPipeline httpPipeline, + SerializerAdapter serializerAdapter, + Duration defaultPollInterval, + AzureEnvironment environment, + String subscriptionId, + String endpoint) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.defaultPollInterval = defaultPollInterval; + this.subscriptionId = subscriptionId; + this.endpoint = endpoint; + this.providerOperationsMetadatas = new ProviderOperationsMetadatasClientImpl(this); + this.permissions = new PermissionsClientImpl(this); + this.roleDefinitions = new RoleDefinitionsClientImpl(this); + this.denyAssignments = new DenyAssignmentsClientImpl(this); + this.roleAssignmentMetrics = new RoleAssignmentMetricsClientImpl(this); + this.eligibleChildResources = new EligibleChildResourcesClientImpl(this); + this.roleAssignmentSchedules = new RoleAssignmentSchedulesClientImpl(this); + this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesClientImpl(this); + this.roleAssignmentScheduleRequests = new RoleAssignmentScheduleRequestsClientImpl(this); + this.roleEligibilitySchedules = new RoleEligibilitySchedulesClientImpl(this); + this.roleEligibilityScheduleInstances = new RoleEligibilityScheduleInstancesClientImpl(this); + this.roleEligibilityScheduleRequests = new RoleEligibilityScheduleRequestsClientImpl(this); + this.roleManagementPolicies = new RoleManagementPoliciesClientImpl(this); + this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsClientImpl(this); + this.operations = new OperationsClientImpl(this); + this.accessReviewScheduleDefinitions = new AccessReviewScheduleDefinitionsClientImpl(this); + this.accessReviewInstances = new AccessReviewInstancesClientImpl(this); + this.accessReviewInstanceOperations = new AccessReviewInstanceOperationsClientImpl(this); + this.accessReviewInstanceDecisions = new AccessReviewInstanceDecisionsClientImpl(this); + this.accessReviewDefaultSettingsOperations = new AccessReviewDefaultSettingsOperationsClientImpl(this); + this.accessReviewScheduleDefinitionsAssignedForMyApprovals = + new AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl(this); + this.accessReviewInstancesAssignedForMyApprovals = + new AccessReviewInstancesAssignedForMyApprovalsClientImpl(this); + this.accessReviewInstanceMyDecisions = new AccessReviewInstanceMyDecisionsClientImpl(this); + this.roleAssignments = new RoleAssignmentsClientImpl(this); + } + + /** + * Gets default client context. + * + * @return the default client context. + */ + public Context getContext() { + return Context.NONE; + } + + /** + * Merges default client context with provided context. + * + * @param context the context to be merged with default client context. + * @return the merged context. + */ + public Context mergeContext(Context context) { + for (Map.Entry entry : this.getContext().getValues().entrySet()) { + context = context.addData(entry.getKey(), entry.getValue()); + } + return context; + } + + /** + * Gets long running operation result. + * + * @param activationResponse the response of activation operation. + * @param httpPipeline the http pipeline. + * @param pollResultType type of poll result. + * @param finalResultType type of final result. + * @param context the context shared by all requests. + * @param type of poll result. + * @param type of final result. + * @return poller flux for poll result and final result. + */ + public PollerFlux, U> getLroResult( + Mono>> activationResponse, + HttpPipeline httpPipeline, + Type pollResultType, + Type finalResultType, + Context context) { + return PollerFactory + .create( + serializerAdapter, + httpPipeline, + pollResultType, + finalResultType, + defaultPollInterval, + activationResponse, + context); + } + + /** + * Gets the final result, or an error, based on last async poll response. + * + * @param response the last async poll response. + * @param type of poll result. + * @param type of final result. + * @return the final result, or an error. + */ + public Mono getLroFinalResultOrError(AsyncPollResponse, U> response) { + if (response.getStatus() != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) { + String errorMessage; + ManagementError managementError = null; + HttpResponse errorResponse = null; + PollResult.Error lroError = response.getValue().getError(); + if (lroError != null) { + errorResponse = + new HttpResponseImpl( + lroError.getResponseStatusCode(), lroError.getResponseHeaders(), lroError.getResponseBody()); + + errorMessage = response.getValue().getError().getMessage(); + String errorBody = response.getValue().getError().getResponseBody(); + if (errorBody != null) { + // try to deserialize error body to ManagementError + try { + managementError = + this + .getSerializerAdapter() + .deserialize(errorBody, ManagementError.class, SerializerEncoding.JSON); + if (managementError.getCode() == null || managementError.getMessage() == null) { + managementError = null; + } + } catch (IOException | RuntimeException ioe) { + LOGGER.logThrowableAsWarning(ioe); + } + } + } else { + // fallback to default error message + errorMessage = "Long running operation failed."; + } + if (managementError == null) { + // fallback to default ManagementError + managementError = new ManagementError(response.getStatus().toString(), errorMessage); + } + return Mono.error(new ManagementException(errorMessage, errorResponse, managementError)); + } else { + return response.getFinalResult(); + } + } + + private static final class HttpResponseImpl extends HttpResponse { + private final int statusCode; + + private final byte[] responseBody; + + private final HttpHeaders httpHeaders; + + HttpResponseImpl(int statusCode, HttpHeaders httpHeaders, String responseBody) { + super(null); + this.statusCode = statusCode; + this.httpHeaders = httpHeaders; + this.responseBody = responseBody == null ? null : responseBody.getBytes(StandardCharsets.UTF_8); + } + + public int getStatusCode() { + return statusCode; + } + + public String getHeaderValue(String s) { + return httpHeaders.getValue(s); + } + + public HttpHeaders getHeaders() { + return httpHeaders; + } + + public Flux getBody() { + return Flux.just(ByteBuffer.wrap(responseBody)); + } + + public Mono getBodyAsByteArray() { + return Mono.just(responseBody); + } + + public Mono getBodyAsString() { + return Mono.just(new String(responseBody, StandardCharsets.UTF_8)); + } + + public Mono getBodyAsString(Charset charset) { + return Mono.just(new String(responseBody, charset)); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(AuthorizationManagementClientImpl.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentImpl.java new file mode 100644 index 0000000000000..ae620f2d5a8ff --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentImpl.java @@ -0,0 +1,92 @@ +// Copyright (c) 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.DenyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignment; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignmentPermission; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import java.util.Collections; +import java.util.List; + +public final class DenyAssignmentImpl implements DenyAssignment { + private DenyAssignmentInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + DenyAssignmentImpl( + DenyAssignmentInner 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 denyAssignmentName() { + return this.innerModel().denyAssignmentName(); + } + + public String description() { + return this.innerModel().description(); + } + + public List permissions() { + List inner = this.innerModel().permissions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public String scope() { + return this.innerModel().scope(); + } + + public Boolean doNotApplyToChildScopes() { + return this.innerModel().doNotApplyToChildScopes(); + } + + public List principals() { + List inner = this.innerModel().principals(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List excludePrincipals() { + List inner = this.innerModel().excludePrincipals(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public Boolean isSystemProtected() { + return this.innerModel().isSystemProtected(); + } + + public DenyAssignmentInner 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/DenyAssignmentsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsClientImpl.java new file mode 100644 index 0000000000000..6136918ebaf84 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsClientImpl.java @@ -0,0 +1,1707 @@ +// Copyright (c) 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.DenyAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignmentListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in DenyAssignmentsClient. */ +public final class DenyAssignmentsClientImpl implements DenyAssignmentsClient { + /** The proxy service used to perform REST calls. */ + private final DenyAssignmentsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of DenyAssignmentsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + DenyAssignmentsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(DenyAssignmentsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientDenyAssignments to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface DenyAssignmentsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}" + + "/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization" + + "/denyAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResource( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, + @PathParam(value = "resourceProviderNamespace", encoded = true) String resourceProviderNamespace, + @PathParam(value = "parentResourcePath", encoded = true) String parentResourcePath, + @PathParam(value = "resourceType", encoded = true) String resourceType, + @PathParam("resourceName") String resourceName, + @QueryParam("api-version") String apiVersion, + @QueryParam("$filter") String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization" + + "/denyAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listByResourceGroup( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, + @QueryParam("api-version") String apiVersion, + @QueryParam("$filter") String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/denyAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @QueryParam("$filter") String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("denyAssignmentId") String denyAssignmentId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{denyAssignmentId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam(value = "denyAssignmentId", encoded = true) String denyAssignmentId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/denyAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @QueryParam("$filter") String filter, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResourceNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResourceGroupNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (parentResourcePath == null) { + return Mono + .error(new IllegalArgumentException("Parameter parentResourcePath is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listForResource( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + apiVersion, + filter, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (parentResourcePath == null) { + return Mono + .error(new IllegalArgumentException("Parameter parentResourcePath is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForResource( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + apiVersion, + filter, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + filter), + nextLink -> listForResourceNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + final String filter = null; + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + filter), + nextLink -> listForResourceNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + filter, + context), + nextLink -> listForResourceNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + final String filter = null; + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter)); + } + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context) { + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + filter, + context)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync( + String resourceGroupName, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listByResourceGroup( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + apiVersion, + filter, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync( + String resourceGroupName, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listByResourceGroup( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + apiVersion, + filter, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName, String filter) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName) { + final String filter = null; + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync( + String resourceGroupName, String filter, Context context) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter, context), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName) { + final String filter = null; + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, filter)); + } + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup( + String resourceGroupName, String filter, Context context) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, filter, context)); + } + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + filter, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Gets all deny assignments 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 all deny assignments for the subscription 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)); + } + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription 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)); + } + + /** + * Gets all deny assignments 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 all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + return new PagedIterable<>(listAsync(filter)); + } + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, Context context) { + return new PagedIterable<>(listAsync(filter, context)); + } + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String denyAssignmentId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (denyAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter denyAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.get(this.client.getEndpoint(), scope, denyAssignmentId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String denyAssignmentId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (denyAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter denyAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, denyAssignmentId, apiVersion, accept, context); + } + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String denyAssignmentId) { + return getWithResponseAsync(scope, denyAssignmentId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public DenyAssignmentInner get(String scope, String denyAssignmentId) { + return getAsync(scope, denyAssignmentId).block(); + } + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String denyAssignmentId, Context context) { + return getWithResponseAsync(scope, denyAssignmentId, context).block(); + } + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String denyAssignmentId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (denyAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter denyAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.getById(this.client.getEndpoint(), denyAssignmentId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String denyAssignmentId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (denyAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter denyAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), denyAssignmentId, apiVersion, accept, context); + } + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String denyAssignmentId) { + return getByIdWithResponseAsync(denyAssignmentId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public DenyAssignmentInner getById(String denyAssignmentId) { + return getByIdAsync(denyAssignmentId).block(); + } + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse(String denyAssignmentId, Context context) { + return getByIdWithResponseAsync(denyAssignmentId, context).block(); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, filter, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2018-07-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, filter, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, 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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync(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.listForResourceNext(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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync( + 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 + .listForResourceNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync(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.listForResourceGroupNext(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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync( + 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 + .listForResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 deny assignment list operation result 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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 deny assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsImpl.java new file mode 100644 index 0000000000000..ebc117ae33a3d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsImpl.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.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.DenyAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignment; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignments; + +public final class DenyAssignmentsImpl implements DenyAssignments { + private static final ClientLogger LOGGER = new ClientLogger(DenyAssignmentsImpl.class); + + private final DenyAssignmentsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public DenyAssignmentsImpl( + DenyAssignmentsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + PagedIterable inner = + this + .serviceClient() + .listForResource( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context) { + PagedIterable inner = + this + .serviceClient() + .listForResource( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + filter, + context); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName, String filter, Context context) { + PagedIterable inner = + this.serviceClient().listByResourceGroup(resourceGroupName, filter, context); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, Context context) { + PagedIterable inner = this.serviceClient().list(filter, context); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public DenyAssignment get(String scope, String denyAssignmentId) { + DenyAssignmentInner inner = this.serviceClient().get(scope, denyAssignmentId); + if (inner != null) { + return new DenyAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse(String scope, String denyAssignmentId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, denyAssignmentId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new DenyAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public DenyAssignment getById(String denyAssignmentId) { + DenyAssignmentInner inner = this.serviceClient().getById(denyAssignmentId); + if (inner != null) { + return new DenyAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String denyAssignmentId, Context context) { + Response inner = this.serviceClient().getByIdWithResponse(denyAssignmentId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new DenyAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new DenyAssignmentImpl(inner1, this.manager())); + } + + private DenyAssignmentsClient 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/EligibleChildResourceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourceImpl.java new file mode 100644 index 0000000000000..3c42fb952907e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourceImpl.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResource; + +public final class EligibleChildResourceImpl implements EligibleChildResource { + private EligibleChildResourceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + EligibleChildResourceImpl( + EligibleChildResourceInner 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 EligibleChildResourceInner 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/EligibleChildResourcesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesClientImpl.java new file mode 100644 index 0000000000000..1bf71d5874c56 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesClientImpl.java @@ -0,0 +1,331 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.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.EligibleChildResourcesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResourcesListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in EligibleChildResourcesClient. */ +public final class EligibleChildResourcesClientImpl implements EligibleChildResourcesClient { + /** The proxy service used to perform REST calls. */ + private final EligibleChildResourcesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of EligibleChildResourcesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + EligibleChildResourcesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(EligibleChildResourcesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientEligibleChildResources to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface EligibleChildResourcesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/eligibleChildResources") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.get(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux getAsync(String scope, String filter) { + return new PagedFlux<>(() -> getSinglePageAsync(scope, filter), nextLink -> getNextSinglePageAsync(nextLink)); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux getAsync(String scope) { + final String filter = null; + return new PagedFlux<>(() -> getSinglePageAsync(scope, filter), nextLink -> getNextSinglePageAsync(nextLink)); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux getAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> getSinglePageAsync(scope, filter, context), nextLink -> getNextSinglePageAsync(nextLink, context)); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable get(String scope) { + final String filter = null; + return new PagedIterable<>(getAsync(scope, filter)); + } + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable get(String scope, String filter, Context context) { + return new PagedIterable<>(getAsync(scope, 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 eligible child resources list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getNextSinglePageAsync(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.getNext(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 eligible child resources list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getNextSinglePageAsync(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 + .getNext(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/EligibleChildResourcesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesImpl.java new file mode 100644 index 0000000000000..c81448d1baa09 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesImpl.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.EligibleChildResourcesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResource; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResources; + +public final class EligibleChildResourcesImpl implements EligibleChildResources { + private static final ClientLogger LOGGER = new ClientLogger(EligibleChildResourcesImpl.class); + + private final EligibleChildResourcesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public EligibleChildResourcesImpl( + EligibleChildResourcesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable get(String scope) { + PagedIterable inner = this.serviceClient().get(scope); + return Utils.mapPage(inner, inner1 -> new EligibleChildResourceImpl(inner1, this.manager())); + } + + public PagedIterable get(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().get(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new EligibleChildResourceImpl(inner1, this.manager())); + } + + private EligibleChildResourcesClient 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/OperationImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.java new file mode 100644 index 0000000000000..105fd71fa5533 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationImpl.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.models.Operation; +import com.azure.resourcemanager.authorization.generated.models.OperationDisplay; + +public final class OperationImpl implements Operation { + private OperationInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + OperationImpl( + OperationInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String name() { + return this.innerModel().name(); + } + + public Boolean isDataAction() { + return this.innerModel().isDataAction(); + } + + public OperationDisplay display() { + return this.innerModel().display(); + } + + public String origin() { + return this.innerModel().origin(); + } + + public OperationInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java new file mode 100644 index 0000000000000..7b16de0f2738f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.java @@ -0,0 +1,275 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.models.OperationListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in OperationsClient. */ +public final class OperationsClientImpl implements OperationsClient { + /** The proxy service used to perform REST calls. */ + private final OperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of OperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + OperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientOperations to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface OperationsService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/operations") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Lists the operations available from this provider. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync() { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Lists the operations available from this provider. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2021-03-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Lists the operations available from this provider. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Lists the operations available from this provider. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Lists the operations available from this provider. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * Lists the operations available from this provider. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(Context context) { + return new PagedIterable<>(listAsync(context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java new file mode 100644 index 0000000000000..bf4e61234fed2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.OperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.azure.resourcemanager.authorization.generated.models.Operation; +import com.azure.resourcemanager.authorization.generated.models.Operations; + +public final class OperationsImpl implements Operations { + private static final ClientLogger LOGGER = new ClientLogger(OperationsImpl.class); + + private final OperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public OperationsImpl( + OperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + public PagedIterable list(Context context) { + PagedIterable inner = this.serviceClient().list(context); + return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager())); + } + + private OperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionImpl.java new file mode 100644 index 0000000000000..623e8a7c107f4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionImpl.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.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.azure.resourcemanager.authorization.generated.models.Permission; +import java.util.Collections; +import java.util.List; + +public final class PermissionImpl implements Permission { + private PermissionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + PermissionImpl( + PermissionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public List actions() { + List inner = this.innerModel().actions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List notActions() { + List inner = this.innerModel().notActions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List dataActions() { + List inner = this.innerModel().dataActions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List notDataActions() { + List inner = this.innerModel().notDataActions(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public PermissionInner 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/PermissionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsClientImpl.java new file mode 100644 index 0000000000000..72af52b8029f2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsClientImpl.java @@ -0,0 +1,698 @@ +// Copyright (c) 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.PermissionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.azure.resourcemanager.authorization.generated.models.PermissionGetResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in PermissionsClient. */ +public final class PermissionsClientImpl implements PermissionsClient { + /** The proxy service used to perform REST calls. */ + private final PermissionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of PermissionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + PermissionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(PermissionsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientPermissions to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface PermissionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization" + + "/permissions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listByResourceGroup( + @HostParam("$host") String endpoint, + @PathParam("resourceGroupName") String resourceGroupName, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}" + + "/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResource( + @HostParam("$host") String endpoint, + @PathParam("resourceGroupName") String resourceGroupName, + @PathParam(value = "resourceProviderNamespace", encoded = true) String resourceProviderNamespace, + @PathParam(value = "parentResourcePath", encoded = true) String parentResourcePath, + @PathParam(value = "resourceType", encoded = true) String resourceType, + @PathParam("resourceName") String resourceName, + @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> listForResourceGroupNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResourceNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listByResourceGroup( + this.client.getEndpoint(), + resourceGroupName, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync( + String resourceGroupName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listByResourceGroup( + this.client.getEndpoint(), + resourceGroupName, + apiVersion, + this.client.getSubscriptionId(), + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName, Context context) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, context), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName)); + } + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName, Context context) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context)); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (parentResourcePath == null) { + return Mono + .error(new IllegalArgumentException("Parameter parentResourcePath is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listForResource( + this.client.getEndpoint(), + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (parentResourcePath == null) { + return Mono + .error(new IllegalArgumentException("Parameter parentResourcePath is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForResource( + this.client.getEndpoint(), + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + apiVersion, + this.client.getSubscriptionId(), + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName), + nextLink -> listForResourceNextSinglePageAsync(nextLink)); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + context), + nextLink -> listForResourceNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName)); + } + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context) { + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, 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 permissions information along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync(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.listForResourceGroupNext(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 permissions information along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync( + 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 + .listForResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 permissions information along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync(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.listForResourceNext(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 permissions information along with {@link PagedResponse} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync(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 + .listForResourceNext(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/PermissionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsImpl.java new file mode 100644 index 0000000000000..42893be4cf203 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsImpl.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.PermissionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.azure.resourcemanager.authorization.generated.models.Permission; +import com.azure.resourcemanager.authorization.generated.models.Permissions; + +public final class PermissionsImpl implements Permissions { + private static final ClientLogger LOGGER = new ClientLogger(PermissionsImpl.class); + + private final PermissionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public PermissionsImpl( + PermissionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable listByResourceGroup(String resourceGroupName) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName); + return Utils.mapPage(inner, inner1 -> new PermissionImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName, Context context) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName, context); + return Utils.mapPage(inner, inner1 -> new PermissionImpl(inner1, this.manager())); + } + + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName) { + PagedIterable inner = + this + .serviceClient() + .listForResource( + resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName); + return Utils.mapPage(inner, inner1 -> new PermissionImpl(inner1, this.manager())); + } + + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context) { + PagedIterable inner = + this + .serviceClient() + .listForResource( + resourceGroupName, + resourceProviderNamespace, + parentResourcePath, + resourceType, + resourceName, + context); + return Utils.mapPage(inner, inner1 -> new PermissionImpl(inner1, this.manager())); + } + + private PermissionsClient 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/ProviderOperationsMetadataImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadataImpl.java new file mode 100644 index 0000000000000..bacdc3e1b792f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadataImpl.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.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperation; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadata; +import com.azure.resourcemanager.authorization.generated.models.ResourceType; +import java.util.Collections; +import java.util.List; + +public final class ProviderOperationsMetadataImpl implements ProviderOperationsMetadata { + private ProviderOperationsMetadataInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + ProviderOperationsMetadataImpl( + ProviderOperationsMetadataInner 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 List resourceTypes() { + List inner = this.innerModel().resourceTypes(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List operations() { + List inner = this.innerModel().operations(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public ProviderOperationsMetadataInner 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/ProviderOperationsMetadatasClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasClientImpl.java new file mode 100644 index 0000000000000..fe4061670ef1b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasClientImpl.java @@ -0,0 +1,457 @@ +// Copyright (c) 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.ProviderOperationsMetadatasClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadataListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in ProviderOperationsMetadatasClient. */ +public final class ProviderOperationsMetadatasClientImpl implements ProviderOperationsMetadatasClient { + /** The proxy service used to perform REST calls. */ + private final ProviderOperationsMetadatasService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of ProviderOperationsMetadatasClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + ProviderOperationsMetadatasClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + ProviderOperationsMetadatasService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientProviderOperationsMetadatas to be used + * by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface ProviderOperationsMetadatasService { + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "resourceProviderNamespace", encoded = true) String resourceProviderNamespace, + @QueryParam("api-version") String apiVersion, + @QueryParam("$expand") String expand, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/providers/Microsoft.Authorization/providerOperations") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @QueryParam("$expand") String expand, + @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); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String resourceProviderNamespace, String expand) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), resourceProviderNamespace, apiVersion, expand, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String resourceProviderNamespace, String expand, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), resourceProviderNamespace, apiVersion, expand, accept, context); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String resourceProviderNamespace, String expand) { + return getWithResponseAsync(resourceProviderNamespace, expand) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String resourceProviderNamespace) { + final String expand = null; + return getWithResponseAsync(resourceProviderNamespace, expand) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public ProviderOperationsMetadataInner get(String resourceProviderNamespace) { + final String expand = null; + return getAsync(resourceProviderNamespace, expand).block(); + } + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String resourceProviderNamespace, String expand, Context context) { + return getWithResponseAsync(resourceProviderNamespace, expand, context).block(); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String expand) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, expand, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String expand, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, expand, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String expand) { + return new PagedFlux<>(() -> listSinglePageAsync(expand), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String expand = null; + return new PagedFlux<>(() -> listSinglePageAsync(expand), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String expand, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(expand, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String expand = null; + return new PagedIterable<>(listAsync(expand)); + } + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String expand, Context context) { + return new PagedIterable<>(listAsync(expand, 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 provider operations metadata list 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 provider operations metadata list 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/ProviderOperationsMetadatasImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasImpl.java new file mode 100644 index 0000000000000..a78935c760d4d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.ProviderOperationsMetadatasClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadata; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadatas; + +public final class ProviderOperationsMetadatasImpl implements ProviderOperationsMetadatas { + private static final ClientLogger LOGGER = new ClientLogger(ProviderOperationsMetadatasImpl.class); + + private final ProviderOperationsMetadatasClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public ProviderOperationsMetadatasImpl( + ProviderOperationsMetadatasClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public ProviderOperationsMetadata get(String resourceProviderNamespace) { + ProviderOperationsMetadataInner inner = this.serviceClient().get(resourceProviderNamespace); + if (inner != null) { + return new ProviderOperationsMetadataImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String resourceProviderNamespace, String expand, Context context) { + Response inner = + this.serviceClient().getWithResponse(resourceProviderNamespace, expand, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new ProviderOperationsMetadataImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable list() { + PagedIterable inner = this.serviceClient().list(); + return Utils.mapPage(inner, inner1 -> new ProviderOperationsMetadataImpl(inner1, this.manager())); + } + + public PagedIterable list(String expand, Context context) { + PagedIterable inner = this.serviceClient().list(expand, context); + return Utils.mapPage(inner, inner1 -> new ProviderOperationsMetadataImpl(inner1, this.manager())); + } + + private ProviderOperationsMetadatasClient 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/RoleAssignmentImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentImpl.java new file mode 100644 index 0000000000000..39368ea96403d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentImpl.java @@ -0,0 +1,200 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignment; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponse; +import java.time.OffsetDateTime; + +public final class RoleAssignmentImpl implements RoleAssignment, RoleAssignment.Definition { + private RoleAssignmentInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleAssignmentImpl( + RoleAssignmentInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public String description() { + return this.innerModel().description(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public OffsetDateTime updatedOn() { + return this.innerModel().updatedOn(); + } + + public String createdBy() { + return this.innerModel().createdBy(); + } + + public String updatedBy() { + return this.innerModel().updatedBy(); + } + + public String delegatedManagedIdentityResourceId() { + return this.innerModel().delegatedManagedIdentityResourceId(); + } + + public RoleAssignmentInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scope; + + private String roleAssignmentName; + + private RoleAssignmentCreateParameters createParameters; + + public RoleAssignmentImpl withExistingScope(String scope) { + this.scope = scope; + return this; + } + + public RoleAssignment create() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignments() + .createWithResponse(scope, roleAssignmentName, createParameters, Context.NONE) + .getValue(); + return this; + } + + public RoleAssignment create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignments() + .createWithResponse(scope, roleAssignmentName, createParameters, context) + .getValue(); + return this; + } + + RoleAssignmentImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new RoleAssignmentInner(); + this.serviceManager = serviceManager; + this.roleAssignmentName = name; + this.createParameters = new RoleAssignmentCreateParameters(); + } + + public RoleAssignment refresh() { + String localTenantId = null; + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignments() + .getWithResponse(scope, roleAssignmentName, localTenantId, Context.NONE) + .getValue(); + return this; + } + + public RoleAssignment refresh(Context context) { + String localTenantId = null; + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignments() + .getWithResponse(scope, roleAssignmentName, localTenantId, context) + .getValue(); + return this; + } + + public ValidationResponse validate(RoleAssignmentCreateParameters parameters) { + return serviceManager.roleAssignments().validate(scope, roleAssignmentName, parameters); + } + + public Response validateWithResponse( + RoleAssignmentCreateParameters parameters, Context context) { + return serviceManager.roleAssignments().validateWithResponse(scope, roleAssignmentName, parameters, context); + } + + public RoleAssignmentImpl withRoleDefinitionId(String roleDefinitionId) { + this.createParameters.withRoleDefinitionId(roleDefinitionId); + return this; + } + + public RoleAssignmentImpl withPrincipalId(String principalId) { + this.createParameters.withPrincipalId(principalId); + return this; + } + + public RoleAssignmentImpl withPrincipalType(PrincipalType principalType) { + this.createParameters.withPrincipalType(principalType); + return this; + } + + public RoleAssignmentImpl withDescription(String description) { + this.createParameters.withDescription(description); + return this; + } + + public RoleAssignmentImpl withCondition(String condition) { + this.createParameters.withCondition(condition); + return this; + } + + public RoleAssignmentImpl withConditionVersion(String conditionVersion) { + this.createParameters.withConditionVersion(conditionVersion); + return this; + } + + public RoleAssignmentImpl withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) { + this.createParameters.withDelegatedManagedIdentityResourceId(delegatedManagedIdentityResourceId); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsClientImpl.java new file mode 100644 index 0000000000000..cc0aa80a4d498 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsClientImpl.java @@ -0,0 +1,178 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentMetricsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentMetricsClient. */ +public final class RoleAssignmentMetricsClientImpl implements RoleAssignmentMetricsClient { + /** The proxy service used to perform REST calls. */ + private final RoleAssignmentMetricsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleAssignmentMetricsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleAssignmentMetricsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(RoleAssignmentMetricsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleAssignmentMetrics to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleAssignmentMetricsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignmentsUsageMetrics") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getMetricsForSubscription( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get role assignment usage metrics for a 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 role assignment usage metrics for a subscription along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getMetricsForSubscriptionWithResponseAsync() { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2019-08-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getMetricsForSubscription( + this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get role assignment usage metrics for a subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getMetricsForSubscriptionWithResponseAsync( + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2019-08-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getMetricsForSubscription( + this.client.getEndpoint(), this.client.getSubscriptionId(), apiVersion, accept, context); + } + + /** + * Get role assignment usage metrics for a 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 role assignment usage metrics for a subscription on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getMetricsForSubscriptionAsync() { + return getMetricsForSubscriptionWithResponseAsync() + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get role assignment usage metrics for a 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 role assignment usage metrics for a subscription. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentMetricsResultInner getMetricsForSubscription() { + return getMetricsForSubscriptionAsync().block(); + } + + /** + * Get role assignment usage metrics for a subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getMetricsForSubscriptionWithResponse(Context context) { + return getMetricsForSubscriptionWithResponseAsync(context).block(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsImpl.java new file mode 100644 index 0000000000000..2f90da905271b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsImpl.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.RoleAssignmentMetricsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetrics; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetricsResult; + +public final class RoleAssignmentMetricsImpl implements RoleAssignmentMetrics { + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentMetricsImpl.class); + + private final RoleAssignmentMetricsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleAssignmentMetricsImpl( + RoleAssignmentMetricsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleAssignmentMetricsResult getMetricsForSubscription() { + RoleAssignmentMetricsResultInner inner = this.serviceClient().getMetricsForSubscription(); + if (inner != null) { + return new RoleAssignmentMetricsResultImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getMetricsForSubscriptionWithResponse(Context context) { + Response inner = + this.serviceClient().getMetricsForSubscriptionWithResponse(context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentMetricsResultImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private RoleAssignmentMetricsClient 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/RoleAssignmentMetricsResultImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsResultImpl.java new file mode 100644 index 0000000000000..6286cb12b60e4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsResultImpl.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.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetricsResult; + +public final class RoleAssignmentMetricsResultImpl implements RoleAssignmentMetricsResult { + private RoleAssignmentMetricsResultInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleAssignmentMetricsResultImpl( + RoleAssignmentMetricsResultInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String subscriptionId() { + return this.innerModel().subscriptionId(); + } + + public Long roleAssignmentsLimit() { + return this.innerModel().roleAssignmentsLimit(); + } + + public Long roleAssignmentsCurrentCount() { + return this.innerModel().roleAssignmentsCurrentCount(); + } + + public Long roleAssignmentsRemainingCount() { + return this.innerModel().roleAssignmentsRemainingCount(); + } + + public RoleAssignmentMetricsResultInner 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/RoleAssignmentScheduleImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleImpl.java new file mode 100644 index 0000000000000..9e9d1aaa03f74 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleImpl.java @@ -0,0 +1,111 @@ +// Copyright (c) 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.RoleAssignmentScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedule; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleAssignmentScheduleImpl implements RoleAssignmentSchedule { + private RoleAssignmentScheduleInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleAssignmentScheduleImpl( + RoleAssignmentScheduleInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public String roleAssignmentScheduleRequestId() { + return this.innerModel().roleAssignmentScheduleRequestId(); + } + + public String linkedRoleEligibilityScheduleId() { + return this.innerModel().linkedRoleEligibilityScheduleId(); + } + + public AssignmentType assignmentType() { + return this.innerModel().assignmentType(); + } + + public MemberType memberType() { + return this.innerModel().memberType(); + } + + public Status status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public OffsetDateTime updatedOn() { + return this.innerModel().updatedOn(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleAssignmentScheduleInner 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/RoleAssignmentScheduleInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstanceImpl.java new file mode 100644 index 0000000000000..392c455d13046 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstanceImpl.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstance; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleAssignmentScheduleInstanceImpl implements RoleAssignmentScheduleInstance { + private RoleAssignmentScheduleInstanceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleAssignmentScheduleInstanceImpl( + RoleAssignmentScheduleInstanceInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public String roleAssignmentScheduleId() { + return this.innerModel().roleAssignmentScheduleId(); + } + + public String originRoleAssignmentId() { + return this.innerModel().originRoleAssignmentId(); + } + + public Status status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public String linkedRoleEligibilityScheduleId() { + return this.innerModel().linkedRoleEligibilityScheduleId(); + } + + public String linkedRoleEligibilityScheduleInstanceId() { + return this.innerModel().linkedRoleEligibilityScheduleInstanceId(); + } + + public AssignmentType assignmentType() { + return this.innerModel().assignmentType(); + } + + public MemberType memberType() { + return this.innerModel().memberType(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleAssignmentScheduleInstanceInner 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/RoleAssignmentScheduleInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesClientImpl.java new file mode 100644 index 0000000000000..5972a7bfdf766 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesClientImpl.java @@ -0,0 +1,504 @@ +// Copyright (c) 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.RoleAssignmentScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstanceListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleInstancesClient. */ +public final class RoleAssignmentScheduleInstancesClientImpl implements RoleAssignmentScheduleInstancesClient { + /** The proxy service used to perform REST calls. */ + private final RoleAssignmentScheduleInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleAssignmentScheduleInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleAssignmentScheduleInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + RoleAssignmentScheduleInstancesService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleAssignmentScheduleInstances to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleAssignmentScheduleInstancesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances" + + "/{roleAssignmentScheduleInstanceName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleAssignmentScheduleInstanceName") String roleAssignmentScheduleInstanceName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, context)); + } + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleInstanceName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleInstanceName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleInstanceName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleAssignmentScheduleInstanceName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleInstanceName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleInstanceName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleInstanceName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, roleAssignmentScheduleInstanceName, apiVersion, accept, context); + } + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync( + String scope, String roleAssignmentScheduleInstanceName) { + return getWithResponseAsync(scope, roleAssignmentScheduleInstanceName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentScheduleInstanceInner get(String scope, String roleAssignmentScheduleInstanceName) { + return getAsync(scope, roleAssignmentScheduleInstanceName).block(); + } + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleAssignmentScheduleInstanceName, Context context) { + return getWithResponseAsync(scope, roleAssignmentScheduleInstanceName, 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 role assignment schedule instance list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment schedule instance list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesImpl.java new file mode 100644 index 0000000000000..4acb04dcec91a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesImpl.java @@ -0,0 +1,73 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstance; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstances; + +public final class RoleAssignmentScheduleInstancesImpl implements RoleAssignmentScheduleInstances { + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentScheduleInstancesImpl.class); + + private final RoleAssignmentScheduleInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleAssignmentScheduleInstancesImpl( + RoleAssignmentScheduleInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleInstanceImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = + this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleInstanceImpl(inner1, this.manager())); + } + + public RoleAssignmentScheduleInstance get(String scope, String roleAssignmentScheduleInstanceName) { + RoleAssignmentScheduleInstanceInner inner = this.serviceClient().get(scope, roleAssignmentScheduleInstanceName); + if (inner != null) { + return new RoleAssignmentScheduleInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleAssignmentScheduleInstanceName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleAssignmentScheduleInstanceName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentScheduleInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private RoleAssignmentScheduleInstancesClient 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/RoleAssignmentScheduleRequestImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestImpl.java new file mode 100644 index 0000000000000..92e99bcb8b13d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestImpl.java @@ -0,0 +1,248 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequest; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleAssignmentScheduleRequestImpl + implements RoleAssignmentScheduleRequest, RoleAssignmentScheduleRequest.Definition { + private RoleAssignmentScheduleRequestInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleAssignmentScheduleRequestImpl( + RoleAssignmentScheduleRequestInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public RequestType requestType() { + return this.innerModel().requestType(); + } + + public Status status() { + return this.innerModel().status(); + } + + public String approvalId() { + return this.innerModel().approvalId(); + } + + public String targetRoleAssignmentScheduleId() { + return this.innerModel().targetRoleAssignmentScheduleId(); + } + + public String targetRoleAssignmentScheduleInstanceId() { + return this.innerModel().targetRoleAssignmentScheduleInstanceId(); + } + + public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerModel().scheduleInfo(); + } + + public String linkedRoleEligibilityScheduleId() { + return this.innerModel().linkedRoleEligibilityScheduleId(); + } + + public String justification() { + return this.innerModel().justification(); + } + + public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerModel().ticketInfo(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public String requestorId() { + return this.innerModel().requestorId(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleAssignmentScheduleRequestInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scope; + + private String roleAssignmentScheduleRequestName; + + public RoleAssignmentScheduleRequestImpl withExistingScope(String scope) { + this.scope = scope; + return this; + } + + public RoleAssignmentScheduleRequest create() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignmentScheduleRequests() + .createWithResponse(scope, roleAssignmentScheduleRequestName, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public RoleAssignmentScheduleRequest create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignmentScheduleRequests() + .createWithResponse(scope, roleAssignmentScheduleRequestName, this.innerModel(), context) + .getValue(); + return this; + } + + RoleAssignmentScheduleRequestImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new RoleAssignmentScheduleRequestInner(); + this.serviceManager = serviceManager; + this.roleAssignmentScheduleRequestName = name; + } + + public RoleAssignmentScheduleRequest refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignmentScheduleRequests() + .getWithResponse(scope, roleAssignmentScheduleRequestName, Context.NONE) + .getValue(); + return this; + } + + public RoleAssignmentScheduleRequest refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleAssignmentScheduleRequests() + .getWithResponse(scope, roleAssignmentScheduleRequestName, context) + .getValue(); + return this; + } + + public void cancel() { + serviceManager.roleAssignmentScheduleRequests().cancel(scope, roleAssignmentScheduleRequestName); + } + + public Response cancelWithResponse(Context context) { + return serviceManager + .roleAssignmentScheduleRequests() + .cancelWithResponse(scope, roleAssignmentScheduleRequestName, context); + } + + public RoleAssignmentScheduleRequestImpl withRoleDefinitionId(String roleDefinitionId) { + this.innerModel().withRoleDefinitionId(roleDefinitionId); + return this; + } + + public RoleAssignmentScheduleRequestImpl withPrincipalId(String principalId) { + this.innerModel().withPrincipalId(principalId); + return this; + } + + public RoleAssignmentScheduleRequestImpl withRequestType(RequestType requestType) { + this.innerModel().withRequestType(requestType); + return this; + } + + public RoleAssignmentScheduleRequestImpl withTargetRoleAssignmentScheduleId(String targetRoleAssignmentScheduleId) { + this.innerModel().withTargetRoleAssignmentScheduleId(targetRoleAssignmentScheduleId); + return this; + } + + public RoleAssignmentScheduleRequestImpl withTargetRoleAssignmentScheduleInstanceId( + String targetRoleAssignmentScheduleInstanceId) { + this.innerModel().withTargetRoleAssignmentScheduleInstanceId(targetRoleAssignmentScheduleInstanceId); + return this; + } + + public RoleAssignmentScheduleRequestImpl withScheduleInfo( + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.innerModel().withScheduleInfo(scheduleInfo); + return this; + } + + public RoleAssignmentScheduleRequestImpl withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.innerModel().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + public RoleAssignmentScheduleRequestImpl withJustification(String justification) { + this.innerModel().withJustification(justification); + return this; + } + + public RoleAssignmentScheduleRequestImpl withTicketInfo( + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) { + this.innerModel().withTicketInfo(ticketInfo); + return this; + } + + public RoleAssignmentScheduleRequestImpl withCondition(String condition) { + this.innerModel().withCondition(condition); + return this; + } + + public RoleAssignmentScheduleRequestImpl withConditionVersion(String conditionVersion) { + this.innerModel().withConditionVersion(conditionVersion); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsClientImpl.java new file mode 100644 index 0000000000000..04e627e5d6bc4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsClientImpl.java @@ -0,0 +1,856 @@ +// Copyright (c) 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.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleRequestsClient. */ +public final class RoleAssignmentScheduleRequestsClientImpl implements RoleAssignmentScheduleRequestsClient { + /** The proxy service used to perform REST calls. */ + private final RoleAssignmentScheduleRequestsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleAssignmentScheduleRequestsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleAssignmentScheduleRequestsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + RoleAssignmentScheduleRequestsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleAssignmentScheduleRequests to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleAssignmentScheduleRequestsService { + @Headers({"Content-Type: application/json"}) + @Put( + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}") + @ExpectedResponses({201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleAssignmentScheduleRequestName") String roleAssignmentScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleAssignmentScheduleRequestInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleAssignmentScheduleRequestName") String roleAssignmentScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}/cancel") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> cancel( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleAssignmentScheduleRequestName") String roleAssignmentScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String roleAssignmentScheduleRequestName, RoleAssignmentScheduleRequestInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + roleAssignmentScheduleRequestName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, + String roleAssignmentScheduleRequestName, + RoleAssignmentScheduleRequestInner parameters, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), + scope, + roleAssignmentScheduleRequestName, + apiVersion, + parameters, + accept, + context); + } + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String roleAssignmentScheduleRequestName, RoleAssignmentScheduleRequestInner parameters) { + return createWithResponseAsync(scope, roleAssignmentScheduleRequestName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentScheduleRequestInner create( + String scope, String roleAssignmentScheduleRequestName, RoleAssignmentScheduleRequestInner parameters) { + return createAsync(scope, roleAssignmentScheduleRequestName, parameters).block(); + } + + /** + * Creates a role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be unique and + * different for each role assignment. + * @param parameters Parameters for the role assignment schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignment schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, + String roleAssignmentScheduleRequestName, + RoleAssignmentScheduleRequestInner parameters, + Context context) { + return createWithResponseAsync(scope, roleAssignmentScheduleRequestName, parameters, context).block(); + } + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleRequestName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleAssignmentScheduleRequestName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleRequestName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, roleAssignmentScheduleRequestName, apiVersion, accept, context); + } + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleAssignmentScheduleRequestName) { + return getWithResponseAsync(scope, roleAssignmentScheduleRequestName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentScheduleRequestInner get(String scope, String roleAssignmentScheduleRequestName) { + return getAsync(scope, roleAssignmentScheduleRequestName).block(); + } + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleAssignmentScheduleRequestName, Context context) { + return getWithResponseAsync(scope, roleAssignmentScheduleRequestName, context).block(); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, context)); + } + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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> cancelWithResponseAsync(String scope, String roleAssignmentScheduleRequestName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .cancel( + this.client.getEndpoint(), + scope, + roleAssignmentScheduleRequestName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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> cancelWithResponseAsync( + String scope, String roleAssignmentScheduleRequestName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .cancel(this.client.getEndpoint(), scope, roleAssignmentScheduleRequestName, apiVersion, accept, context); + } + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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 cancelAsync(String scope, String roleAssignmentScheduleRequestName) { + return cancelWithResponseAsync(scope, roleAssignmentScheduleRequestName) + .flatMap((Response res) -> Mono.empty()); + } + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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 cancel(String scope, String roleAssignmentScheduleRequestName) { + cancelAsync(scope, roleAssignmentScheduleRequestName).block(); + } + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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 cancelWithResponse(String scope, String roleAssignmentScheduleRequestName, Context context) { + return cancelWithResponseAsync(scope, roleAssignmentScheduleRequestName, 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 role assignment schedule request list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment schedule request list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsImpl.java new file mode 100644 index 0000000000000..d79e8336d92b2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsImpl.java @@ -0,0 +1,153 @@ +// Copyright (c) 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.RoleAssignmentScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequest; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequests; + +public final class RoleAssignmentScheduleRequestsImpl implements RoleAssignmentScheduleRequests { + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentScheduleRequestsImpl.class); + + private final RoleAssignmentScheduleRequestsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleAssignmentScheduleRequestsImpl( + RoleAssignmentScheduleRequestsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleAssignmentScheduleRequest get(String scope, String roleAssignmentScheduleRequestName) { + RoleAssignmentScheduleRequestInner inner = this.serviceClient().get(scope, roleAssignmentScheduleRequestName); + if (inner != null) { + return new RoleAssignmentScheduleRequestImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleAssignmentScheduleRequestName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleAssignmentScheduleRequestName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentScheduleRequestImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleRequestImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = + this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleRequestImpl(inner1, this.manager())); + } + + public void cancel(String scope, String roleAssignmentScheduleRequestName) { + this.serviceClient().cancel(scope, roleAssignmentScheduleRequestName); + } + + public Response cancelWithResponse(String scope, String roleAssignmentScheduleRequestName, Context context) { + return this.serviceClient().cancelWithResponse(scope, roleAssignmentScheduleRequestName, context); + } + + public RoleAssignmentScheduleRequest getById(String id) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleAssignmentScheduleRequestName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}", + "roleAssignmentScheduleRequestName"); + if (roleAssignmentScheduleRequestName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleAssignmentScheduleRequests'.", + id))); + } + return this.getWithResponse(scope, roleAssignmentScheduleRequestName, Context.NONE).getValue(); + } + + public Response getByIdWithResponse(String id, Context context) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleAssignmentScheduleRequestName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests" + + "/{roleAssignmentScheduleRequestName}", + "roleAssignmentScheduleRequestName"); + if (roleAssignmentScheduleRequestName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleAssignmentScheduleRequests'.", + id))); + } + return this.getWithResponse(scope, roleAssignmentScheduleRequestName, context); + } + + private RoleAssignmentScheduleRequestsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public RoleAssignmentScheduleRequestImpl define(String name) { + return new RoleAssignmentScheduleRequestImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesClientImpl.java new file mode 100644 index 0000000000000..e663e1e67a232 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesClientImpl.java @@ -0,0 +1,478 @@ +// Copyright (c) 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.RoleAssignmentSchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentSchedulesClient. */ +public final class RoleAssignmentSchedulesClientImpl implements RoleAssignmentSchedulesClient { + /** The proxy service used to perform REST calls. */ + private final RoleAssignmentSchedulesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleAssignmentSchedulesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleAssignmentSchedulesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(RoleAssignmentSchedulesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleAssignmentSchedules to be used by + * the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleAssignmentSchedulesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules/{roleAssignmentScheduleName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleAssignmentScheduleName") String roleAssignmentScheduleName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), scope, roleAssignmentScheduleName, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentScheduleName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentScheduleName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleAssignmentScheduleName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, roleAssignmentScheduleName, apiVersion, accept, context); + } + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleAssignmentScheduleName) { + return getWithResponseAsync(scope, roleAssignmentScheduleName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentScheduleInner get(String scope, String roleAssignmentScheduleName) { + return getAsync(scope, roleAssignmentScheduleName).block(); + } + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleAssignmentScheduleName, Context context) { + return getWithResponseAsync(scope, roleAssignmentScheduleName, context).block(); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, 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 role assignment schedule list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment schedule list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesImpl.java new file mode 100644 index 0000000000000..217e4bebfae38 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentSchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedule; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedules; + +public final class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentSchedulesImpl.class); + + private final RoleAssignmentSchedulesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleAssignmentSchedulesImpl( + RoleAssignmentSchedulesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleAssignmentSchedule get(String scope, String roleAssignmentScheduleName) { + RoleAssignmentScheduleInner inner = this.serviceClient().get(scope, roleAssignmentScheduleName); + if (inner != null) { + return new RoleAssignmentScheduleImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleAssignmentScheduleName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleAssignmentScheduleName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentScheduleImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentScheduleImpl(inner1, this.manager())); + } + + private RoleAssignmentSchedulesClient 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/RoleAssignmentsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsClientImpl.java new file mode 100644 index 0000000000000..4b340f9ff4c30 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsClientImpl.java @@ -0,0 +1,2798 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentsClient. */ +public final class RoleAssignmentsClientImpl implements RoleAssignmentsClient { + /** The proxy service used to perform REST calls. */ + private final RoleAssignmentsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleAssignmentsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleAssignmentsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(RoleAssignmentsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleAssignments to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleAssignmentsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization" + + "/roleAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listByResourceGroup( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}" + + "/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResource( + @HostParam("$host") String endpoint, + @PathParam("subscriptionId") String subscriptionId, + @PathParam("resourceGroupName") String resourceGroupName, + @PathParam(value = "resourceProviderNamespace", encoded = true) String resourceProviderNamespace, + @PathParam(value = "resourceType", encoded = true) String resourceType, + @PathParam(value = "resourceName", encoded = true) String resourceName, + @QueryParam("api-version") String apiVersion, + @QueryParam(value = "$filter", encoded = true) String filter, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "roleAssignmentName", encoded = true) String roleAssignmentName, + @QueryParam("api-version") String apiVersion, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}") + @ExpectedResponses({200, 201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "roleAssignmentName", encoded = true) String roleAssignmentName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleAssignmentCreateParameters parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> delete( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "roleAssignmentName", encoded = true) String roleAssignmentName, + @QueryParam("api-version") String apiVersion, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post("/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}/validate") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> validate( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam(value = "roleAssignmentName", encoded = true) String roleAssignmentName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleAssignmentCreateParameters parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam(value = "$filter", encoded = true) String filter, + @QueryParam("api-version") String apiVersion, + @QueryParam("tenantId") String tenantId, + @QueryParam(value = "$skipToken", encoded = true) String skipToken, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{roleAssignmentId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam(value = "roleAssignmentId", encoded = true) String roleAssignmentId, + @QueryParam("api-version") String apiVersion, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/{roleAssignmentId}") + @ExpectedResponses({200, 201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createById( + @HostParam("$host") String endpoint, + @PathParam(value = "roleAssignmentId", encoded = true) String roleAssignmentId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleAssignmentCreateParameters parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete("/{roleAssignmentId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> deleteById( + @HostParam("$host") String endpoint, + @PathParam(value = "roleAssignmentId", encoded = true) String roleAssignmentId, + @QueryParam("api-version") String apiVersion, + @QueryParam("tenantId") String tenantId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post("/{roleAssignmentId}/validate") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> validateById( + @HostParam("$host") String endpoint, + @PathParam(value = "roleAssignmentId", encoded = true) String roleAssignmentId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleAssignmentCreateParameters parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForSubscriptionNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResourceGroupNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForResourceNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String filter, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + filter, + tenantId, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String filter, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + apiVersion, + filter, + tenantId, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, String tenantId) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, tenantId), nextLink -> listForSubscriptionNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a 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 role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + final String filter = null; + final String tenantId = null; + return new PagedFlux<>( + () -> listSinglePageAsync(filter, tenantId), nextLink -> listForSubscriptionNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String filter, String tenantId, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(filter, tenantId, context), + nextLink -> listForSubscriptionNextSinglePageAsync(nextLink, context)); + } + + /** + * List all role assignments that apply to a 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 role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + final String filter = null; + final String tenantId = null; + return new PagedIterable<>(listAsync(filter, tenantId)); + } + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String filter, String tenantId, Context context) { + return new PagedIterable<>(listAsync(filter, tenantId, context)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync( + String resourceGroupName, String filter, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listByResourceGroup( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + apiVersion, + filter, + tenantId, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listByResourceGroupSinglePageAsync( + String resourceGroupName, String filter, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listByResourceGroup( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + apiVersion, + filter, + tenantId, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync( + String resourceGroupName, String filter, String tenantId) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter, tenantId), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync(String resourceGroupName) { + final String filter = null; + final String tenantId = null; + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter, tenantId), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listByResourceGroupAsync( + String resourceGroupName, String filter, String tenantId, Context context) { + return new PagedFlux<>( + () -> listByResourceGroupSinglePageAsync(resourceGroupName, filter, tenantId, context), + nextLink -> listForResourceGroupNextSinglePageAsync(nextLink, context)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup(String resourceGroupName) { + final String filter = null; + final String tenantId = null; + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, filter, tenantId)); + } + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listByResourceGroup( + String resourceGroupName, String filter, String tenantId, Context context) { + return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, filter, tenantId, context)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listForResource( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + apiVersion, + filter, + tenantId, + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceSinglePageAsync( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + if (resourceGroupName == null) { + return Mono + .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.")); + } + if (resourceProviderNamespace == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter resourceProviderNamespace is required and cannot be null.")); + } + if (resourceType == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceType is required and cannot be null.")); + } + if (resourceName == null) { + return Mono.error(new IllegalArgumentException("Parameter resourceName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForResource( + this.client.getEndpoint(), + this.client.getSubscriptionId(), + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + apiVersion, + filter, + tenantId, + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, resourceProviderNamespace, resourceType, resourceName, filter, tenantId), + nextLink -> listForResourceNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName) { + final String filter = null; + final String tenantId = null; + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, resourceProviderNamespace, resourceType, resourceName, filter, tenantId), + nextLink -> listForResourceNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForResourceAsync( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context) { + return new PagedFlux<>( + () -> + listForResourceSinglePageAsync( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + filter, + tenantId, + context), + nextLink -> listForResourceNextSinglePageAsync(nextLink, context)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName) { + final String filter = null; + final String tenantId = null; + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, resourceProviderNamespace, resourceType, resourceName, filter, tenantId)); + } + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context) { + return new PagedIterable<>( + listForResourceAsync( + resourceGroupName, resourceProviderNamespace, resourceType, resourceName, filter, tenantId, context)); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentName, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleAssignmentName, + apiVersion, + tenantId, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleAssignmentName, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, roleAssignmentName, apiVersion, tenantId, accept, context); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleAssignmentName, String tenantId) { + return getWithResponseAsync(scope, roleAssignmentName, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleAssignmentName) { + final String tenantId = null; + return getWithResponseAsync(scope, roleAssignmentName, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner get(String scope, String roleAssignmentName) { + final String tenantId = null; + return getAsync(scope, roleAssignmentName, tenantId).block(); + } + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context) { + return getWithResponseAsync(scope, roleAssignmentName, tenantId, context).block(); + } + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + roleAssignmentName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create(this.client.getEndpoint(), scope, roleAssignmentName, apiVersion, parameters, accept, context); + } + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + return createWithResponseAsync(scope, roleAssignmentName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner create( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + return createAsync(scope, roleAssignmentName, parameters).block(); + } + + /** + * Create or update a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context) { + return createWithResponseAsync(scope, roleAssignmentName, parameters, context).block(); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync( + String scope, String roleAssignmentName, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .delete( + this.client.getEndpoint(), + scope, + roleAssignmentName, + apiVersion, + tenantId, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync( + String scope, String roleAssignmentName, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .delete(this.client.getEndpoint(), scope, roleAssignmentName, apiVersion, tenantId, accept, context); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String scope, String roleAssignmentName, String tenantId) { + return deleteWithResponseAsync(scope, roleAssignmentName, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String scope, String roleAssignmentName) { + final String tenantId = null; + return deleteWithResponseAsync(scope, roleAssignmentName, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner delete(String scope, String roleAssignmentName) { + final String tenantId = null; + return deleteAsync(scope, roleAssignmentName, tenantId).block(); + } + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context) { + return deleteWithResponseAsync(scope, roleAssignmentName, tenantId, context).block(); + } + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> validateWithResponseAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .validate( + this.client.getEndpoint(), + scope, + roleAssignmentName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> validateWithResponseAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleAssignmentName == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .validate(this.client.getEndpoint(), scope, roleAssignmentName, apiVersion, parameters, accept, context); + } + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono validateAsync( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + return validateWithResponseAsync(scope, roleAssignmentName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public ValidationResponseInner validate( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + return validateAsync(scope, roleAssignmentName, parameters).block(); + } + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response validateWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context) { + return validateWithResponseAsync(scope, roleAssignmentName, parameters, context).block(); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, String tenantId, String skipToken) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .listForScope( + this.client.getEndpoint(), scope, filter, apiVersion, tenantId, skipToken, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, String tenantId, String skipToken, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, tenantId, skipToken, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, String tenantId, String skipToken) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId, skipToken), + nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + final String tenantId = null; + final String skipToken = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId, skipToken), + nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, String tenantId, String skipToken, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId, skipToken, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + final String tenantId = null; + final String skipToken = null; + return new PagedIterable<>(listForScopeAsync(scope, filter, tenantId, skipToken)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, String tenantId, String skipToken, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, tenantId, skipToken, context)); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String roleAssignmentId, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.getById(this.client.getEndpoint(), roleAssignmentId, apiVersion, tenantId, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync( + String roleAssignmentId, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), roleAssignmentId, apiVersion, tenantId, accept, context); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String roleAssignmentId, String tenantId) { + return getByIdWithResponseAsync(roleAssignmentId, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String roleAssignmentId) { + final String tenantId = null; + return getByIdWithResponseAsync(roleAssignmentId, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner getById(String roleAssignmentId) { + final String tenantId = null; + return getByIdAsync(roleAssignmentId, tenantId).block(); + } + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse( + String roleAssignmentId, String tenantId, Context context) { + return getByIdWithResponseAsync(roleAssignmentId, tenantId, context).block(); + } + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createByIdWithResponseAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createById( + this.client.getEndpoint(), roleAssignmentId, apiVersion, parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createByIdWithResponseAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.createById(this.client.getEndpoint(), roleAssignmentId, apiVersion, parameters, accept, context); + } + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createByIdAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + return createByIdWithResponseAsync(roleAssignmentId, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner createById(String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + return createByIdAsync(roleAssignmentId, parameters).block(); + } + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + return createByIdWithResponseAsync(roleAssignmentId, parameters, context).block(); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteByIdWithResponseAsync(String roleAssignmentId, String tenantId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .deleteById(this.client.getEndpoint(), roleAssignmentId, apiVersion, tenantId, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteByIdWithResponseAsync( + String roleAssignmentId, String tenantId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.deleteById(this.client.getEndpoint(), roleAssignmentId, apiVersion, tenantId, accept, context); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteByIdAsync(String roleAssignmentId, String tenantId) { + return deleteByIdWithResponseAsync(roleAssignmentId, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteByIdAsync(String roleAssignmentId) { + final String tenantId = null; + return deleteByIdWithResponseAsync(roleAssignmentId, tenantId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleAssignmentInner deleteById(String roleAssignmentId) { + final String tenantId = null; + return deleteByIdAsync(roleAssignmentId, tenantId).block(); + } + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteByIdWithResponse( + String roleAssignmentId, String tenantId, Context context) { + return deleteByIdWithResponseAsync(roleAssignmentId, tenantId, context).block(); + } + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> validateByIdWithResponseAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .validateById( + this.client.getEndpoint(), roleAssignmentId, apiVersion, parameters, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> validateByIdWithResponseAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleAssignmentId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleAssignmentId is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2021-04-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .validateById(this.client.getEndpoint(), roleAssignmentId, apiVersion, parameters, accept, context); + } + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono validateByIdAsync( + String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + return validateByIdWithResponseAsync(roleAssignmentId, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public ValidationResponseInner validateById(String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + return validateByIdAsync(roleAssignmentId, parameters).block(); + } + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response validateByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + return validateByIdWithResponseAsync(roleAssignmentId, parameters, 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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForSubscriptionNextSinglePageAsync(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.listForSubscriptionNext(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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForSubscriptionNextSinglePageAsync( + 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 + .listForSubscriptionNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync(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.listForResourceGroupNext(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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceGroupNextSinglePageAsync( + 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 + .listForResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync(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.listForResourceNext(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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForResourceNextSinglePageAsync( + 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 + .listForResourceNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role assignment list operation result along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsImpl.java new file mode 100644 index 0000000000000..ee108d735c3ab --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsImpl.java @@ -0,0 +1,277 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.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.RoleAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignment; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignments; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponse; + +public final class RoleAssignmentsImpl implements RoleAssignments { + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentsImpl.class); + + private final RoleAssignmentsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleAssignmentsImpl( + RoleAssignmentsClient 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 RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable list(String filter, String tenantId, Context context) { + PagedIterable inner = this.serviceClient().list(filter, tenantId, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup(String resourceGroupName) { + PagedIterable inner = this.serviceClient().listByResourceGroup(resourceGroupName); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listByResourceGroup( + String resourceGroupName, String filter, String tenantId, Context context) { + PagedIterable inner = + this.serviceClient().listByResourceGroup(resourceGroupName, filter, tenantId, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForResource( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName) { + PagedIterable inner = + this + .serviceClient() + .listForResource(resourceGroupName, resourceProviderNamespace, resourceType, resourceName); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context) { + PagedIterable inner = + this + .serviceClient() + .listForResource( + resourceGroupName, + resourceProviderNamespace, + resourceType, + resourceName, + filter, + tenantId, + context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public RoleAssignment get(String scope, String roleAssignmentName) { + RoleAssignmentInner inner = this.serviceClient().get(scope, roleAssignmentName); + if (inner != null) { + return new RoleAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleAssignmentName, tenantId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleAssignment delete(String scope, String roleAssignmentName) { + RoleAssignmentInner inner = this.serviceClient().delete(scope, roleAssignmentName); + if (inner != null) { + return new RoleAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context) { + Response inner = + this.serviceClient().deleteWithResponse(scope, roleAssignmentName, tenantId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public ValidationResponse validate( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters) { + ValidationResponseInner inner = this.serviceClient().validate(scope, roleAssignmentName, parameters); + if (inner != null) { + return new ValidationResponseImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response validateWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context) { + Response inner = + this.serviceClient().validateWithResponse(scope, roleAssignmentName, parameters, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new ValidationResponseImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForScope( + String scope, String filter, String tenantId, String skipToken, Context context) { + PagedIterable inner = + this.serviceClient().listForScope(scope, filter, tenantId, skipToken, context); + return Utils.mapPage(inner, inner1 -> new RoleAssignmentImpl(inner1, this.manager())); + } + + public RoleAssignment getById(String roleAssignmentId) { + RoleAssignmentInner inner = this.serviceClient().getById(roleAssignmentId); + if (inner != null) { + return new RoleAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String roleAssignmentId, String tenantId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(roleAssignmentId, tenantId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleAssignment createById(String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + RoleAssignmentInner inner = this.serviceClient().createById(roleAssignmentId, parameters); + if (inner != null) { + return new RoleAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response createByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + Response inner = + this.serviceClient().createByIdWithResponse(roleAssignmentId, parameters, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleAssignment deleteById(String roleAssignmentId) { + RoleAssignmentInner inner = this.serviceClient().deleteById(roleAssignmentId); + if (inner != null) { + return new RoleAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteByIdWithResponse(String roleAssignmentId, String tenantId, Context context) { + Response inner = + this.serviceClient().deleteByIdWithResponse(roleAssignmentId, tenantId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public ValidationResponse validateById(String roleAssignmentId, RoleAssignmentCreateParameters parameters) { + ValidationResponseInner inner = this.serviceClient().validateById(roleAssignmentId, parameters); + if (inner != null) { + return new ValidationResponseImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response validateByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context) { + Response inner = + this.serviceClient().validateByIdWithResponse(roleAssignmentId, parameters, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new ValidationResponseImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private RoleAssignmentsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public RoleAssignmentImpl define(String name) { + return new RoleAssignmentImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionImpl.java new file mode 100644 index 0000000000000..415030cfd765e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionImpl.java @@ -0,0 +1,199 @@ +// Copyright (c) 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.PermissionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.Permission; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinition; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public final class RoleDefinitionImpl implements RoleDefinition, RoleDefinition.Definition, RoleDefinition.Update { + private RoleDefinitionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String roleName() { + return this.innerModel().roleName(); + } + + public String description() { + return this.innerModel().description(); + } + + public String roleType() { + return this.innerModel().roleType(); + } + + public List permissions() { + List inner = this.innerModel().permissions(); + if (inner != null) { + return Collections + .unmodifiableList( + inner + .stream() + .map(inner1 -> new PermissionImpl(inner1, this.manager())) + .collect(Collectors.toList())); + } else { + return Collections.emptyList(); + } + } + + public List assignableScopes() { + List inner = this.innerModel().assignableScopes(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public RoleDefinitionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scope; + + private String roleDefinitionId; + + public RoleDefinitionImpl withExistingScope(String scope) { + this.scope = scope; + return this; + } + + public RoleDefinition create() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .createOrUpdateWithResponse(scope, roleDefinitionId, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public RoleDefinition create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .createOrUpdateWithResponse(scope, roleDefinitionId, this.innerModel(), context) + .getValue(); + return this; + } + + RoleDefinitionImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new RoleDefinitionInner(); + this.serviceManager = serviceManager; + this.roleDefinitionId = name; + } + + public RoleDefinitionImpl update() { + return this; + } + + public RoleDefinition apply() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .createOrUpdateWithResponse(scope, roleDefinitionId, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public RoleDefinition apply(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .createOrUpdateWithResponse(scope, roleDefinitionId, this.innerModel(), context) + .getValue(); + return this; + } + + RoleDefinitionImpl( + RoleDefinitionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + this.scope = + Utils + .getValueFromIdByParameterName( + innerObject.id(), + "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", + "scope"); + this.roleDefinitionId = + Utils + .getValueFromIdByParameterName( + innerObject.id(), + "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", + "roleDefinitionId"); + } + + public RoleDefinition refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .getWithResponse(scope, roleDefinitionId, Context.NONE) + .getValue(); + return this; + } + + public RoleDefinition refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleDefinitions() + .getWithResponse(scope, roleDefinitionId, context) + .getValue(); + return this; + } + + public RoleDefinitionImpl withRoleName(String roleName) { + this.innerModel().withRoleName(roleName); + return this; + } + + public RoleDefinitionImpl withDescription(String description) { + this.innerModel().withDescription(description); + return this; + } + + public RoleDefinitionImpl withRoleType(String roleType) { + this.innerModel().withRoleType(roleType); + return this; + } + + public RoleDefinitionImpl withPermissions(List permissions) { + this.innerModel().withPermissions(permissions); + return this; + } + + public RoleDefinitionImpl withAssignableScopes(List assignableScopes) { + this.innerModel().withAssignableScopes(assignableScopes); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsClientImpl.java new file mode 100644 index 0000000000000..60f1dd076844d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsClientImpl.java @@ -0,0 +1,878 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinitionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleDefinitionsClient. */ +public final class RoleDefinitionsClientImpl implements RoleDefinitionsClient { + /** The proxy service used to perform REST calls. */ + private final RoleDefinitionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleDefinitionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleDefinitionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy.create(RoleDefinitionsService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleDefinitions to be used by the proxy + * service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleDefinitionsService { + @Headers({"Content-Type: application/json"}) + @Delete("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> delete( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleDefinitionId") String roleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleDefinitionId") String roleDefinitionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}") + @ExpectedResponses({201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> createOrUpdate( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleDefinitionId") String roleDefinitionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleDefinitionInner roleDefinition, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleDefinitions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{roleId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam(value = "roleId", encoded = true) String roleId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync(String scope, String roleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.delete(this.client.getEndpoint(), scope, roleDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync( + String scope, String roleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.delete(this.client.getEndpoint(), scope, roleDefinitionId, apiVersion, accept, context); + } + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String scope, String roleDefinitionId) { + return deleteWithResponseAsync(scope, roleDefinitionId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleDefinitionInner delete(String scope, String roleDefinitionId) { + return deleteAsync(scope, roleDefinitionId).block(); + } + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String scope, String roleDefinitionId, Context context) { + return deleteWithResponseAsync(scope, roleDefinitionId, context).block(); + } + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync(String scope, String roleDefinitionId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.get(this.client.getEndpoint(), scope, roleDefinitionId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleDefinitionId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, roleDefinitionId, apiVersion, accept, context); + } + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleDefinitionId) { + return getWithResponseAsync(scope, roleDefinitionId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID). + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleDefinitionInner get(String scope, String roleDefinitionId) { + return getAsync(scope, roleDefinitionId).block(); + } + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse(String scope, String roleDefinitionId, Context context) { + return getWithResponseAsync(scope, roleDefinitionId, context).block(); + } + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateWithResponseAsync( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + if (roleDefinition == null) { + return Mono.error(new IllegalArgumentException("Parameter roleDefinition is required and cannot be null.")); + } else { + roleDefinition.validate(); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .createOrUpdate( + this.client.getEndpoint(), + scope, + roleDefinitionId, + apiVersion, + roleDefinition, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createOrUpdateWithResponseAsync( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter roleDefinitionId is required and cannot be null.")); + } + if (roleDefinition == null) { + return Mono.error(new IllegalArgumentException("Parameter roleDefinition is required and cannot be null.")); + } else { + roleDefinition.validate(); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .createOrUpdate( + this.client.getEndpoint(), scope, roleDefinitionId, apiVersion, roleDefinition, accept, context); + } + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createOrUpdateAsync( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition) { + return createOrUpdateWithResponseAsync(scope, roleDefinitionId, roleDefinition) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleDefinitionInner createOrUpdate( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition) { + return createOrUpdateAsync(scope, roleDefinitionId, roleDefinition).block(); + } + + /** + * Creates or updates a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param roleDefinition The values for the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateWithResponse( + String scope, String roleDefinitionId, RoleDefinitionInner roleDefinition, Context context) { + return createOrUpdateWithResponseAsync(scope, roleDefinitionId, roleDefinition, context).block(); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter) { + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope) { + final String filter = null; + return new PagedFlux<>(() -> listSinglePageAsync(scope, filter), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scope, filter, context), nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope) { + final String filter = null; + return new PagedIterable<>(listAsync(scope, filter)); + } + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scope, String filter, Context context) { + return new PagedIterable<>(listAsync(scope, filter, context)); + } + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String roleId) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleId == null) { + return Mono.error(new IllegalArgumentException("Parameter roleId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.getById(this.client.getEndpoint(), roleId, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getByIdWithResponseAsync(String roleId, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (roleId == null) { + return Mono.error(new IllegalArgumentException("Parameter roleId is required and cannot be null.")); + } + final String apiVersion = "2018-01-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.getById(this.client.getEndpoint(), roleId, apiVersion, accept, context); + } + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getByIdAsync(String roleId) { + return getByIdWithResponseAsync(roleId) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleDefinitionInner getById(String roleId) { + return getByIdAsync(roleId).block(); + } + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getByIdWithResponse(String roleId, Context context) { + return getByIdWithResponseAsync(roleId, 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 role definition list operation result 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 role definition list operation result 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/RoleDefinitionsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsImpl.java new file mode 100644 index 0000000000000..d6f43609a1cc4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsImpl.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.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.RoleDefinitionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinition; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinitions; + +public final class RoleDefinitionsImpl implements RoleDefinitions { + private static final ClientLogger LOGGER = new ClientLogger(RoleDefinitionsImpl.class); + + private final RoleDefinitionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleDefinitionsImpl( + RoleDefinitionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleDefinition deleteByResourceGroup(String scope, String roleDefinitionId) { + RoleDefinitionInner inner = this.serviceClient().delete(scope, roleDefinitionId); + if (inner != null) { + return new RoleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response deleteWithResponse(String scope, String roleDefinitionId, Context context) { + Response inner = this.serviceClient().deleteWithResponse(scope, roleDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleDefinition get(String scope, String roleDefinitionId) { + RoleDefinitionInner inner = this.serviceClient().get(scope, roleDefinitionId); + if (inner != null) { + return new RoleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse(String scope, String roleDefinitionId, Context context) { + Response inner = this.serviceClient().getWithResponse(scope, roleDefinitionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable list(String scope) { + PagedIterable inner = this.serviceClient().list(scope); + return Utils.mapPage(inner, inner1 -> new RoleDefinitionImpl(inner1, this.manager())); + } + + public PagedIterable list(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().list(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleDefinitionImpl(inner1, this.manager())); + } + + public RoleDefinition getById(String roleId) { + RoleDefinitionInner inner = this.serviceClient().getById(roleId); + if (inner != null) { + return new RoleDefinitionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse(String roleId, Context context) { + Response inner = this.serviceClient().getByIdWithResponse(roleId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleDefinitionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleDefinition deleteById(String id) { + String scope = + Utils + .getValueFromIdByParameterName( + id, "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleDefinitionId = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", + "roleDefinitionId"); + if (roleDefinitionId == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format("The resource ID '%s' is not valid. Missing path segment 'roleDefinitions'.", id))); + } + return this.deleteWithResponse(scope, roleDefinitionId, Context.NONE).getValue(); + } + + public Response deleteByIdWithResponse(String id, Context context) { + String scope = + Utils + .getValueFromIdByParameterName( + id, "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleDefinitionId = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", + "roleDefinitionId"); + if (roleDefinitionId == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format("The resource ID '%s' is not valid. Missing path segment 'roleDefinitions'.", id))); + } + return this.deleteWithResponse(scope, roleDefinitionId, context); + } + + private RoleDefinitionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public RoleDefinitionImpl define(String name) { + return new RoleDefinitionImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleImpl.java new file mode 100644 index 0000000000000..0594bc7e80b20 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleImpl.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedule; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleEligibilityScheduleImpl implements RoleEligibilitySchedule { + private RoleEligibilityScheduleInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleEligibilityScheduleImpl( + RoleEligibilityScheduleInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public String roleEligibilityScheduleRequestId() { + return this.innerModel().roleEligibilityScheduleRequestId(); + } + + public MemberType memberType() { + return this.innerModel().memberType(); + } + + public Status status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public OffsetDateTime updatedOn() { + return this.innerModel().updatedOn(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleEligibilityScheduleInner 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/RoleEligibilityScheduleInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstanceImpl.java new file mode 100644 index 0000000000000..f30e9ab8b2436 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstanceImpl.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstance; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleEligibilityScheduleInstanceImpl implements RoleEligibilityScheduleInstance { + private RoleEligibilityScheduleInstanceInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleEligibilityScheduleInstanceImpl( + RoleEligibilityScheduleInstanceInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public String roleEligibilityScheduleId() { + return this.innerModel().roleEligibilityScheduleId(); + } + + public Status status() { + return this.innerModel().status(); + } + + public OffsetDateTime startDateTime() { + return this.innerModel().startDateTime(); + } + + public OffsetDateTime endDateTime() { + return this.innerModel().endDateTime(); + } + + public MemberType memberType() { + return this.innerModel().memberType(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleEligibilityScheduleInstanceInner 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/RoleEligibilityScheduleInstancesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesClientImpl.java new file mode 100644 index 0000000000000..1f7054f3e0e7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesClientImpl.java @@ -0,0 +1,506 @@ +// Copyright (c) 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.RoleEligibilityScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstanceListResult; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in RoleEligibilityScheduleInstancesClient. + */ +public final class RoleEligibilityScheduleInstancesClientImpl implements RoleEligibilityScheduleInstancesClient { + /** The proxy service used to perform REST calls. */ + private final RoleEligibilityScheduleInstancesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleEligibilityScheduleInstancesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleEligibilityScheduleInstancesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + RoleEligibilityScheduleInstancesService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleEligibilityScheduleInstances to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleEligibilityScheduleInstancesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances" + + "/{roleEligibilityScheduleInstanceName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleEligibilityScheduleInstanceName") String roleEligibilityScheduleInstanceName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule along with {@link PagedResponse} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, context)); + } + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleInstanceName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleInstanceName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleInstanceName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleEligibilityScheduleInstanceName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleInstanceName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleInstanceName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleInstanceName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, roleEligibilityScheduleInstanceName, apiVersion, accept, context); + } + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync( + String scope, String roleEligibilityScheduleInstanceName) { + return getWithResponseAsync(scope, roleEligibilityScheduleInstanceName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleEligibilityScheduleInstanceInner get(String scope, String roleEligibilityScheduleInstanceName) { + return getAsync(scope, roleEligibilityScheduleInstanceName).block(); + } + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleEligibilityScheduleInstanceName, Context context) { + return getWithResponseAsync(scope, roleEligibilityScheduleInstanceName, 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 role eligibility schedule instance list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role eligibility schedule instance list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesImpl.java new file mode 100644 index 0000000000000..5bd6184a64ac4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesImpl.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.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.RoleEligibilityScheduleInstancesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstance; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstances; + +public final class RoleEligibilityScheduleInstancesImpl implements RoleEligibilityScheduleInstances { + private static final ClientLogger LOGGER = new ClientLogger(RoleEligibilityScheduleInstancesImpl.class); + + private final RoleEligibilityScheduleInstancesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleEligibilityScheduleInstancesImpl( + RoleEligibilityScheduleInstancesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleInstanceImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = + this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleInstanceImpl(inner1, this.manager())); + } + + public RoleEligibilityScheduleInstance get(String scope, String roleEligibilityScheduleInstanceName) { + RoleEligibilityScheduleInstanceInner inner = + this.serviceClient().get(scope, roleEligibilityScheduleInstanceName); + if (inner != null) { + return new RoleEligibilityScheduleInstanceImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleEligibilityScheduleInstanceName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleEligibilityScheduleInstanceName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleEligibilityScheduleInstanceImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private RoleEligibilityScheduleInstancesClient 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/RoleEligibilityScheduleRequestImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestImpl.java new file mode 100644 index 0000000000000..c31ee48f8da35 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestImpl.java @@ -0,0 +1,239 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequest; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import java.time.OffsetDateTime; + +public final class RoleEligibilityScheduleRequestImpl + implements RoleEligibilityScheduleRequest, RoleEligibilityScheduleRequest.Definition { + private RoleEligibilityScheduleRequestInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleEligibilityScheduleRequestImpl( + RoleEligibilityScheduleRequestInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public PrincipalType principalType() { + return this.innerModel().principalType(); + } + + public RequestType requestType() { + return this.innerModel().requestType(); + } + + public Status status() { + return this.innerModel().status(); + } + + public String approvalId() { + return this.innerModel().approvalId(); + } + + public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerModel().scheduleInfo(); + } + + public String targetRoleEligibilityScheduleId() { + return this.innerModel().targetRoleEligibilityScheduleId(); + } + + public String targetRoleEligibilityScheduleInstanceId() { + return this.innerModel().targetRoleEligibilityScheduleInstanceId(); + } + + public String justification() { + return this.innerModel().justification(); + } + + public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerModel().ticketInfo(); + } + + public String condition() { + return this.innerModel().condition(); + } + + public String conditionVersion() { + return this.innerModel().conditionVersion(); + } + + public OffsetDateTime createdOn() { + return this.innerModel().createdOn(); + } + + public String requestorId() { + return this.innerModel().requestorId(); + } + + public ExpandedProperties expandedProperties() { + return this.innerModel().expandedProperties(); + } + + public RoleEligibilityScheduleRequestInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scope; + + private String roleEligibilityScheduleRequestName; + + public RoleEligibilityScheduleRequestImpl withExistingScope(String scope) { + this.scope = scope; + return this; + } + + public RoleEligibilityScheduleRequest create() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleEligibilityScheduleRequests() + .createWithResponse(scope, roleEligibilityScheduleRequestName, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public RoleEligibilityScheduleRequest create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleEligibilityScheduleRequests() + .createWithResponse(scope, roleEligibilityScheduleRequestName, this.innerModel(), context) + .getValue(); + return this; + } + + RoleEligibilityScheduleRequestImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new RoleEligibilityScheduleRequestInner(); + this.serviceManager = serviceManager; + this.roleEligibilityScheduleRequestName = name; + } + + public RoleEligibilityScheduleRequest refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleEligibilityScheduleRequests() + .getWithResponse(scope, roleEligibilityScheduleRequestName, Context.NONE) + .getValue(); + return this; + } + + public RoleEligibilityScheduleRequest refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleEligibilityScheduleRequests() + .getWithResponse(scope, roleEligibilityScheduleRequestName, context) + .getValue(); + return this; + } + + public void cancel() { + serviceManager.roleEligibilityScheduleRequests().cancel(scope, roleEligibilityScheduleRequestName); + } + + public Response cancelWithResponse(Context context) { + return serviceManager + .roleEligibilityScheduleRequests() + .cancelWithResponse(scope, roleEligibilityScheduleRequestName, context); + } + + public RoleEligibilityScheduleRequestImpl withRoleDefinitionId(String roleDefinitionId) { + this.innerModel().withRoleDefinitionId(roleDefinitionId); + return this; + } + + public RoleEligibilityScheduleRequestImpl withPrincipalId(String principalId) { + this.innerModel().withPrincipalId(principalId); + return this; + } + + public RoleEligibilityScheduleRequestImpl withRequestType(RequestType requestType) { + this.innerModel().withRequestType(requestType); + return this; + } + + public RoleEligibilityScheduleRequestImpl withScheduleInfo( + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.innerModel().withScheduleInfo(scheduleInfo); + return this; + } + + public RoleEligibilityScheduleRequestImpl withTargetRoleEligibilityScheduleId( + String targetRoleEligibilityScheduleId) { + this.innerModel().withTargetRoleEligibilityScheduleId(targetRoleEligibilityScheduleId); + return this; + } + + public RoleEligibilityScheduleRequestImpl withTargetRoleEligibilityScheduleInstanceId( + String targetRoleEligibilityScheduleInstanceId) { + this.innerModel().withTargetRoleEligibilityScheduleInstanceId(targetRoleEligibilityScheduleInstanceId); + return this; + } + + public RoleEligibilityScheduleRequestImpl withJustification(String justification) { + this.innerModel().withJustification(justification); + return this; + } + + public RoleEligibilityScheduleRequestImpl withTicketInfo( + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) { + this.innerModel().withTicketInfo(ticketInfo); + return this; + } + + public RoleEligibilityScheduleRequestImpl withCondition(String condition) { + this.innerModel().withCondition(condition); + return this; + } + + public RoleEligibilityScheduleRequestImpl withConditionVersion(String conditionVersion) { + this.innerModel().withConditionVersion(conditionVersion); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsClientImpl.java new file mode 100644 index 0000000000000..c31b96dc35231 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsClientImpl.java @@ -0,0 +1,852 @@ +// Copyright (c) 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.Post; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilityScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleEligibilityScheduleRequestsClient. */ +public final class RoleEligibilityScheduleRequestsClientImpl implements RoleEligibilityScheduleRequestsClient { + /** The proxy service used to perform REST calls. */ + private final RoleEligibilityScheduleRequestsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleEligibilityScheduleRequestsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleEligibilityScheduleRequestsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + RoleEligibilityScheduleRequestsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleEligibilityScheduleRequests to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleEligibilityScheduleRequestsService { + @Headers({"Content-Type: application/json"}) + @Put( + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}") + @ExpectedResponses({201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleEligibilityScheduleRequestName") String roleEligibilityScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleEligibilityScheduleRequestInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleEligibilityScheduleRequestName") String roleEligibilityScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}/cancel") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> cancel( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleEligibilityScheduleRequestName") String roleEligibilityScheduleRequestName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String roleEligibilityScheduleRequestName, RoleEligibilityScheduleRequestInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + roleEligibilityScheduleRequestName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, + String roleEligibilityScheduleRequestName, + RoleEligibilityScheduleRequestInner parameters, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), + scope, + roleEligibilityScheduleRequestName, + apiVersion, + parameters, + accept, + context); + } + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String roleEligibilityScheduleRequestName, RoleEligibilityScheduleRequestInner parameters) { + return createWithResponseAsync(scope, roleEligibilityScheduleRequestName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleEligibilityScheduleRequestInner create( + String scope, String roleEligibilityScheduleRequestName, RoleEligibilityScheduleRequestInner parameters) { + return createAsync(scope, roleEligibilityScheduleRequestName, parameters).block(); + } + + /** + * Creates a role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST resource + * instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for + * a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any valid GUID. + * @param parameters Parameters for the role eligibility schedule request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Eligibility schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, + String roleEligibilityScheduleRequestName, + RoleEligibilityScheduleRequestInner parameters, + Context context) { + return createWithResponseAsync(scope, roleEligibilityScheduleRequestName, parameters, context).block(); + } + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleRequestName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleEligibilityScheduleRequestName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleRequestName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, roleEligibilityScheduleRequestName, apiVersion, accept, context); + } + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync( + String scope, String roleEligibilityScheduleRequestName) { + return getWithResponseAsync(scope, roleEligibilityScheduleRequestName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleEligibilityScheduleRequestInner get(String scope, String roleEligibilityScheduleRequestName) { + return getAsync(scope, roleEligibilityScheduleRequestName).block(); + } + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleEligibilityScheduleRequestName, Context context) { + return getWithResponseAsync(scope, roleEligibilityScheduleRequestName, context).block(); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, context)); + } + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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> cancelWithResponseAsync(String scope, String roleEligibilityScheduleRequestName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .cancel( + this.client.getEndpoint(), + scope, + roleEligibilityScheduleRequestName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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> cancelWithResponseAsync( + String scope, String roleEligibilityScheduleRequestName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleRequestName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleRequestName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .cancel(this.client.getEndpoint(), scope, roleEligibilityScheduleRequestName, apiVersion, accept, context); + } + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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 cancelAsync(String scope, String roleEligibilityScheduleRequestName) { + return cancelWithResponseAsync(scope, roleEligibilityScheduleRequestName) + .flatMap((Response res) -> Mono.empty()); + } + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws 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 cancel(String scope, String roleEligibilityScheduleRequestName) { + cancelAsync(scope, roleEligibilityScheduleRequestName).block(); + } + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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 cancelWithResponse(String scope, String roleEligibilityScheduleRequestName, Context context) { + return cancelWithResponseAsync(scope, roleEligibilityScheduleRequestName, 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 role eligibility schedule request list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role eligibility schedule request list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsImpl.java new file mode 100644 index 0000000000000..2c759b9838986 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsImpl.java @@ -0,0 +1,153 @@ +// Copyright (c) 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.RoleEligibilityScheduleRequestsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequest; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequests; + +public final class RoleEligibilityScheduleRequestsImpl implements RoleEligibilityScheduleRequests { + private static final ClientLogger LOGGER = new ClientLogger(RoleEligibilityScheduleRequestsImpl.class); + + private final RoleEligibilityScheduleRequestsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleEligibilityScheduleRequestsImpl( + RoleEligibilityScheduleRequestsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleEligibilityScheduleRequest get(String scope, String roleEligibilityScheduleRequestName) { + RoleEligibilityScheduleRequestInner inner = this.serviceClient().get(scope, roleEligibilityScheduleRequestName); + if (inner != null) { + return new RoleEligibilityScheduleRequestImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleEligibilityScheduleRequestName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleEligibilityScheduleRequestName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleEligibilityScheduleRequestImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleRequestImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = + this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleRequestImpl(inner1, this.manager())); + } + + public void cancel(String scope, String roleEligibilityScheduleRequestName) { + this.serviceClient().cancel(scope, roleEligibilityScheduleRequestName); + } + + public Response cancelWithResponse(String scope, String roleEligibilityScheduleRequestName, Context context) { + return this.serviceClient().cancelWithResponse(scope, roleEligibilityScheduleRequestName, context); + } + + public RoleEligibilityScheduleRequest getById(String id) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleEligibilityScheduleRequestName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}", + "roleEligibilityScheduleRequestName"); + if (roleEligibilityScheduleRequestName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleEligibilityScheduleRequests'.", + id))); + } + return this.getWithResponse(scope, roleEligibilityScheduleRequestName, Context.NONE).getValue(); + } + + public Response getByIdWithResponse(String id, Context context) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleEligibilityScheduleRequestName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests" + + "/{roleEligibilityScheduleRequestName}", + "roleEligibilityScheduleRequestName"); + if (roleEligibilityScheduleRequestName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleEligibilityScheduleRequests'.", + id))); + } + return this.getWithResponse(scope, roleEligibilityScheduleRequestName, context); + } + + private RoleEligibilityScheduleRequestsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public RoleEligibilityScheduleRequestImpl define(String name) { + return new RoleEligibilityScheduleRequestImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesClientImpl.java new file mode 100644 index 0000000000000..8b6dcf67759a0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesClientImpl.java @@ -0,0 +1,479 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilitySchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleEligibilitySchedulesClient. */ +public final class RoleEligibilitySchedulesClientImpl implements RoleEligibilitySchedulesClient { + /** The proxy service used to perform REST calls. */ + private final RoleEligibilitySchedulesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleEligibilitySchedulesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleEligibilitySchedulesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(RoleEligibilitySchedulesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleEligibilitySchedules to be used by + * the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleEligibilitySchedulesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules/{roleEligibilityScheduleName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleEligibilityScheduleName") String roleEligibilityScheduleName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("$filter") String filter, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), scope, roleEligibilityScheduleName, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleEligibilityScheduleName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleEligibilityScheduleName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleEligibilityScheduleName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, roleEligibilityScheduleName, apiVersion, accept, context); + } + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleEligibilityScheduleName) { + return getWithResponseAsync(scope, roleEligibilityScheduleName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleEligibilityScheduleInner get(String scope, String roleEligibilityScheduleName) { + return getAsync(scope, roleEligibilityScheduleName).block(); + } + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleEligibilityScheduleName, Context context) { + return getWithResponseAsync(scope, roleEligibilityScheduleName, context).block(); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, String filter) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, String filter, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, filter, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + return new PagedIterable<>(listForScopeAsync(scope, filter)); + } + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, String filter, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, 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 role eligibility schedule list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role eligibility schedule list operation result along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesImpl.java new file mode 100644 index 0000000000000..9de88cffc678f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesImpl.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.RoleEligibilitySchedulesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedule; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedules; + +public final class RoleEligibilitySchedulesImpl implements RoleEligibilitySchedules { + private static final ClientLogger LOGGER = new ClientLogger(RoleEligibilitySchedulesImpl.class); + + private final RoleEligibilitySchedulesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleEligibilitySchedulesImpl( + RoleEligibilitySchedulesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleEligibilitySchedule get(String scope, String roleEligibilityScheduleName) { + RoleEligibilityScheduleInner inner = this.serviceClient().get(scope, roleEligibilityScheduleName); + if (inner != null) { + return new RoleEligibilityScheduleImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleEligibilityScheduleName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleEligibilityScheduleName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleEligibilityScheduleImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, String filter, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, filter, context); + return Utils.mapPage(inner, inner1 -> new RoleEligibilityScheduleImpl(inner1, this.manager())); + } + + private RoleEligibilitySchedulesClient 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/RoleManagementPoliciesClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesClientImpl.java new file mode 100644 index 0000000000000..6c904fc8c077c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesClientImpl.java @@ -0,0 +1,727 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.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.RoleManagementPoliciesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleManagementPoliciesClient. */ +public final class RoleManagementPoliciesClientImpl implements RoleManagementPoliciesClient { + /** The proxy service used to perform REST calls. */ + private final RoleManagementPoliciesService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleManagementPoliciesClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleManagementPoliciesClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create(RoleManagementPoliciesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleManagementPolicies to be used by the + * proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleManagementPoliciesService { + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyName") String roleManagementPolicyName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Patch("/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> update( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyName") String roleManagementPolicyName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleManagementPolicyInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete("/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> delete( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyName") String roleManagementPolicyName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementPolicies") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleManagementPolicyName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), scope, roleManagementPolicyName, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleManagementPolicyName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), scope, roleManagementPolicyName, apiVersion, accept, context); + } + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync(String scope, String roleManagementPolicyName) { + return getWithResponseAsync(scope, roleManagementPolicyName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleManagementPolicyInner get(String scope, String roleManagementPolicyName) { + return getAsync(scope, roleManagementPolicyName).block(); + } + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleManagementPolicyName, Context context) { + return getWithResponseAsync(scope, roleManagementPolicyName, context).block(); + } + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> updateWithResponseAsync( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .update( + this.client.getEndpoint(), + scope, + roleManagementPolicyName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> updateWithResponseAsync( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .update( + this.client.getEndpoint(), scope, roleManagementPolicyName, apiVersion, parameters, accept, context); + } + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono updateAsync( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters) { + return updateWithResponseAsync(scope, roleManagementPolicyName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleManagementPolicyInner update( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters) { + return updateAsync(scope, roleManagementPolicyName, parameters).block(); + } + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateWithResponse( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context) { + return updateWithResponseAsync(scope, roleManagementPolicyName, parameters, context).block(); + } + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync(String scope, String roleManagementPolicyName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .delete( + this.client.getEndpoint(), scope, roleManagementPolicyName, apiVersion, accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync( + String scope, String roleManagementPolicyName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyName == null) { + return Mono + .error( + new IllegalArgumentException("Parameter roleManagementPolicyName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.delete(this.client.getEndpoint(), scope, roleManagementPolicyName, apiVersion, accept, context); + } + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String scope, String roleManagementPolicyName) { + return deleteWithResponseAsync(scope, roleManagementPolicyName).flatMap((Response res) -> Mono.empty()); + } + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String scope, String roleManagementPolicyName) { + deleteAsync(scope, roleManagementPolicyName).block(); + } + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String scope, String roleManagementPolicyName, Context context) { + return deleteWithResponseAsync(scope, roleManagementPolicyName, context).block(); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + return new PagedIterable<>(listForScopeAsync(scope)); + } + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role management policy list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role management policy list operation result along with {@link PagedResponse} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesImpl.java new file mode 100644 index 0000000000000..3355d294c3c57 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesImpl.java @@ -0,0 +1,105 @@ +// Copyright (c) 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.RoleManagementPoliciesClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicies; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicy; + +public final class RoleManagementPoliciesImpl implements RoleManagementPolicies { + private static final ClientLogger LOGGER = new ClientLogger(RoleManagementPoliciesImpl.class); + + private final RoleManagementPoliciesClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleManagementPoliciesImpl( + RoleManagementPoliciesClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleManagementPolicy get(String scope, String roleManagementPolicyName) { + RoleManagementPolicyInner inner = this.serviceClient().get(scope, roleManagementPolicyName); + if (inner != null) { + return new RoleManagementPolicyImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleManagementPolicyName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleManagementPolicyName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleManagementPolicyImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public RoleManagementPolicy update( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters) { + RoleManagementPolicyInner inner = this.serviceClient().update(scope, roleManagementPolicyName, parameters); + if (inner != null) { + return new RoleManagementPolicyImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response updateWithResponse( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context) { + Response inner = + this.serviceClient().updateWithResponse(scope, roleManagementPolicyName, parameters, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleManagementPolicyImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public void deleteByResourceGroup(String scope, String roleManagementPolicyName) { + this.serviceClient().delete(scope, roleManagementPolicyName); + } + + public Response deleteWithResponse(String scope, String roleManagementPolicyName, Context context) { + return this.serviceClient().deleteWithResponse(scope, roleManagementPolicyName, context); + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleManagementPolicyImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, context); + return Utils.mapPage(inner, inner1 -> new RoleManagementPolicyImpl(inner1, this.manager())); + } + + private RoleManagementPoliciesClient 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/RoleManagementPolicyAssignmentImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentImpl.java new file mode 100644 index 0000000000000..5f6fbfddce2de --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentImpl.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.PolicyAssignmentProperties; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignment; + +public final class RoleManagementPolicyAssignmentImpl + implements RoleManagementPolicyAssignment, RoleManagementPolicyAssignment.Definition { + private RoleManagementPolicyAssignmentInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleManagementPolicyAssignmentImpl( + RoleManagementPolicyAssignmentInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String roleDefinitionId() { + return this.innerModel().roleDefinitionId(); + } + + public String policyId() { + return this.innerModel().policyId(); + } + + public PolicyAssignmentProperties policyAssignmentProperties() { + return this.innerModel().policyAssignmentProperties(); + } + + public RoleManagementPolicyAssignmentInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + private String scope; + + private String roleManagementPolicyAssignmentName; + + public RoleManagementPolicyAssignmentImpl withExistingScope(String scope) { + this.scope = scope; + return this; + } + + public RoleManagementPolicyAssignment create() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleManagementPolicyAssignments() + .createWithResponse(scope, roleManagementPolicyAssignmentName, this.innerModel(), Context.NONE) + .getValue(); + return this; + } + + public RoleManagementPolicyAssignment create(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleManagementPolicyAssignments() + .createWithResponse(scope, roleManagementPolicyAssignmentName, this.innerModel(), context) + .getValue(); + return this; + } + + RoleManagementPolicyAssignmentImpl( + String name, com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = new RoleManagementPolicyAssignmentInner(); + this.serviceManager = serviceManager; + this.roleManagementPolicyAssignmentName = name; + } + + public RoleManagementPolicyAssignment refresh() { + this.innerObject = + serviceManager + .serviceClient() + .getRoleManagementPolicyAssignments() + .getWithResponse(scope, roleManagementPolicyAssignmentName, Context.NONE) + .getValue(); + return this; + } + + public RoleManagementPolicyAssignment refresh(Context context) { + this.innerObject = + serviceManager + .serviceClient() + .getRoleManagementPolicyAssignments() + .getWithResponse(scope, roleManagementPolicyAssignmentName, context) + .getValue(); + return this; + } + + public RoleManagementPolicyAssignmentImpl withScope(String scope) { + this.innerModel().withScope(scope); + return this; + } + + public RoleManagementPolicyAssignmentImpl withRoleDefinitionId(String roleDefinitionId) { + this.innerModel().withRoleDefinitionId(roleDefinitionId); + return this; + } + + public RoleManagementPolicyAssignmentImpl withPolicyId(String policyId) { + this.innerModel().withPolicyId(policyId); + return this; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsClientImpl.java new file mode 100644 index 0000000000000..a1b975d771d92 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsClientImpl.java @@ -0,0 +1,788 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.resourcemanager.authorization.generated.fluent.RoleManagementPolicyAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignmentListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in RoleManagementPolicyAssignmentsClient. */ +public final class RoleManagementPolicyAssignmentsClientImpl implements RoleManagementPolicyAssignmentsClient { + /** The proxy service used to perform REST calls. */ + private final RoleManagementPolicyAssignmentsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of RoleManagementPolicyAssignmentsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + RoleManagementPolicyAssignmentsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + RoleManagementPolicyAssignmentsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientRoleManagementPolicyAssignments to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface RoleManagementPolicyAssignmentsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyAssignmentName") String roleManagementPolicyAssignmentName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put( + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}") + @ExpectedResponses({201}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> create( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyAssignmentName") String roleManagementPolicyAssignmentName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") RoleManagementPolicyAssignmentInner parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Delete( + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}") + @ExpectedResponses({200, 204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> delete( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @PathParam("roleManagementPolicyAssignmentName") String roleManagementPolicyAssignmentName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScope( + @HostParam("$host") String endpoint, + @PathParam(value = "scope", encoded = true) String scope, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listForScopeNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleManagementPolicyAssignmentName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get( + this.client.getEndpoint(), + scope, + roleManagementPolicyAssignmentName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> getWithResponseAsync( + String scope, String roleManagementPolicyAssignmentName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .get(this.client.getEndpoint(), scope, roleManagementPolicyAssignmentName, apiVersion, accept, context); + } + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono getAsync( + String scope, String roleManagementPolicyAssignmentName) { + return getWithResponseAsync(scope, roleManagementPolicyAssignmentName) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleManagementPolicyAssignmentInner get(String scope, String roleManagementPolicyAssignmentName) { + return getAsync(scope, roleManagementPolicyAssignmentName).block(); + } + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getWithResponse( + String scope, String roleManagementPolicyAssignmentName, Context context) { + return getWithResponseAsync(scope, roleManagementPolicyAssignmentName, context).block(); + } + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, String roleManagementPolicyAssignmentName, RoleManagementPolicyAssignmentInner parameters) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .create( + this.client.getEndpoint(), + scope, + roleManagementPolicyAssignmentName, + apiVersion, + parameters, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> createWithResponseAsync( + String scope, + String roleManagementPolicyAssignmentName, + RoleManagementPolicyAssignmentInner parameters, + Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + if (parameters == null) { + return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null.")); + } else { + parameters.validate(); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .create( + this.client.getEndpoint(), + scope, + roleManagementPolicyAssignmentName, + apiVersion, + parameters, + accept, + context); + } + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono createAsync( + String scope, String roleManagementPolicyAssignmentName, RoleManagementPolicyAssignmentInner parameters) { + return createWithResponseAsync(scope, roleManagementPolicyAssignmentName, parameters) + .flatMap( + (Response res) -> { + if (res.getValue() != null) { + return Mono.just(res.getValue()); + } else { + return Mono.empty(); + } + }); + } + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public RoleManagementPolicyAssignmentInner create( + String scope, String roleManagementPolicyAssignmentName, RoleManagementPolicyAssignmentInner parameters) { + return createAsync(scope, roleManagementPolicyAssignmentName, parameters).block(); + } + + /** + * Create a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to upsert. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * upsert. + * @param parameters Parameters for the role management policy assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createWithResponse( + String scope, + String roleManagementPolicyAssignmentName, + RoleManagementPolicyAssignmentInner parameters, + Context context) { + return createWithResponseAsync(scope, roleManagementPolicyAssignmentName, parameters, context).block(); + } + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync(String scope, String roleManagementPolicyAssignmentName) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .delete( + this.client.getEndpoint(), + scope, + roleManagementPolicyAssignmentName, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> deleteWithResponseAsync( + String scope, String roleManagementPolicyAssignmentName, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + if (roleManagementPolicyAssignmentName == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter roleManagementPolicyAssignmentName is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .delete(this.client.getEndpoint(), scope, roleManagementPolicyAssignmentName, apiVersion, accept, context); + } + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono deleteAsync(String scope, String roleManagementPolicyAssignmentName) { + return deleteWithResponseAsync(scope, roleManagementPolicyAssignmentName) + .flatMap((Response res) -> Mono.empty()); + } + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void delete(String scope, String roleManagementPolicyAssignmentName) { + deleteAsync(scope, roleManagementPolicyAssignmentName).block(); + } + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteWithResponse(String scope, String roleManagementPolicyAssignmentName, Context context) { + return deleteWithResponseAsync(scope, roleManagementPolicyAssignmentName, context).block(); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync(String scope) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeSinglePageAsync( + String scope, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scope == null) { + return Mono.error(new IllegalArgumentException("Parameter scope is required and cannot be null.")); + } + final String apiVersion = "2020-10-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScope(this.client.getEndpoint(), scope, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope), nextLink -> listForScopeNextSinglePageAsync(nextLink)); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, context), + nextLink -> listForScopeNextSinglePageAsync(nextLink, context)); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + return new PagedIterable<>(listForScopeAsync(scope)); + } + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role management policy assignment list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync(String nextLink) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listForScopeNext(nextLink, this.client.getEndpoint(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get the next page of items. + * + * @param nextLink The 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 role management policy assignment list operation result along with {@link PagedResponse} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listForScopeNextSinglePageAsync( + String nextLink, Context context) { + if (nextLink == null) { + return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null.")); + } + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .listForScopeNext(nextLink, this.client.getEndpoint(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsImpl.java new file mode 100644 index 0000000000000..bea3b29b10ec1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsImpl.java @@ -0,0 +1,220 @@ +// Copyright (c) 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.RoleManagementPolicyAssignmentsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignment; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignments; + +public final class RoleManagementPolicyAssignmentsImpl implements RoleManagementPolicyAssignments { + private static final ClientLogger LOGGER = new ClientLogger(RoleManagementPolicyAssignmentsImpl.class); + + private final RoleManagementPolicyAssignmentsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public RoleManagementPolicyAssignmentsImpl( + RoleManagementPolicyAssignmentsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public RoleManagementPolicyAssignment get(String scope, String roleManagementPolicyAssignmentName) { + RoleManagementPolicyAssignmentInner inner = this.serviceClient().get(scope, roleManagementPolicyAssignmentName); + if (inner != null) { + return new RoleManagementPolicyAssignmentImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse( + String scope, String roleManagementPolicyAssignmentName, Context context) { + Response inner = + this.serviceClient().getWithResponse(scope, roleManagementPolicyAssignmentName, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new RoleManagementPolicyAssignmentImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public void deleteByResourceGroup(String scope, String roleManagementPolicyAssignmentName) { + this.serviceClient().delete(scope, roleManagementPolicyAssignmentName); + } + + public Response deleteWithResponse(String scope, String roleManagementPolicyAssignmentName, Context context) { + return this.serviceClient().deleteWithResponse(scope, roleManagementPolicyAssignmentName, context); + } + + public PagedIterable listForScope(String scope) { + PagedIterable inner = this.serviceClient().listForScope(scope); + return Utils.mapPage(inner, inner1 -> new RoleManagementPolicyAssignmentImpl(inner1, this.manager())); + } + + public PagedIterable listForScope(String scope, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, context); + return Utils.mapPage(inner, inner1 -> new RoleManagementPolicyAssignmentImpl(inner1, this.manager())); + } + + public RoleManagementPolicyAssignment getById(String id) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleManagementPolicyAssignmentName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "roleManagementPolicyAssignmentName"); + if (roleManagementPolicyAssignmentName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleManagementPolicyAssignments'.", + id))); + } + return this.getWithResponse(scope, roleManagementPolicyAssignmentName, Context.NONE).getValue(); + } + + public Response getByIdWithResponse(String id, Context context) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleManagementPolicyAssignmentName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "roleManagementPolicyAssignmentName"); + if (roleManagementPolicyAssignmentName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleManagementPolicyAssignments'.", + id))); + } + return this.getWithResponse(scope, roleManagementPolicyAssignmentName, context); + } + + public void deleteById(String id) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleManagementPolicyAssignmentName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "roleManagementPolicyAssignmentName"); + if (roleManagementPolicyAssignmentName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleManagementPolicyAssignments'.", + id))); + } + this.deleteWithResponse(scope, roleManagementPolicyAssignmentName, Context.NONE); + } + + public Response deleteByIdWithResponse(String id, Context context) { + String scope = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "scope"); + if (scope == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String.format("The resource ID '%s' is not valid. Missing path segment 'scope'.", id))); + } + String roleManagementPolicyAssignmentName = + Utils + .getValueFromIdByParameterName( + id, + "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments" + + "/{roleManagementPolicyAssignmentName}", + "roleManagementPolicyAssignmentName"); + if (roleManagementPolicyAssignmentName == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + String + .format( + "The resource ID '%s' is not valid. Missing path segment" + + " 'roleManagementPolicyAssignments'.", + id))); + } + return this.deleteWithResponse(scope, roleManagementPolicyAssignmentName, context); + } + + private RoleManagementPolicyAssignmentsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } + + public RoleManagementPolicyAssignmentImpl define(String name) { + return new RoleManagementPolicyAssignmentImpl(name, this.manager()); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyImpl.java new file mode 100644 index 0000000000000..1d7d1b2726abe --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyImpl.java @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.PolicyProperties; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicy; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule; +import java.time.OffsetDateTime; +import java.util.Collections; +import java.util.List; + +public final class RoleManagementPolicyImpl implements RoleManagementPolicy { + private RoleManagementPolicyInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + RoleManagementPolicyImpl( + RoleManagementPolicyInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public String scope() { + return this.innerModel().scope(); + } + + public String displayName() { + return this.innerModel().displayName(); + } + + public String description() { + return this.innerModel().description(); + } + + public Boolean isOrganizationDefault() { + return this.innerModel().isOrganizationDefault(); + } + + public Principal lastModifiedBy() { + return this.innerModel().lastModifiedBy(); + } + + public OffsetDateTime lastModifiedDateTime() { + return this.innerModel().lastModifiedDateTime(); + } + + public List rules() { + List inner = this.innerModel().rules(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public List effectiveRules() { + List inner = this.innerModel().effectiveRules(); + if (inner != null) { + return Collections.unmodifiableList(inner); + } else { + return Collections.emptyList(); + } + } + + public PolicyProperties policyProperties() { + return this.innerModel().policyProperties(); + } + + public RoleManagementPolicyInner 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/Utils.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.java new file mode 100644 index 0000000000000..9ee144b3a9883 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/Utils.java @@ -0,0 +1,204 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.util.CoreUtils; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import reactor.core.publisher.Flux; + +final class Utils { + static String getValueFromIdByName(String id, String name) { + if (id == null) { + return null; + } + Iterator itr = Arrays.stream(id.split("/")).iterator(); + while (itr.hasNext()) { + String part = itr.next(); + if (part != null && !part.trim().isEmpty()) { + if (part.equalsIgnoreCase(name)) { + if (itr.hasNext()) { + return itr.next(); + } else { + return null; + } + } + } + } + return null; + } + + static String getValueFromIdByParameterName(String id, String pathTemplate, String parameterName) { + if (id == null || pathTemplate == null) { + return null; + } + String parameterNameParentheses = "{" + parameterName + "}"; + List idSegmentsReverted = Arrays.asList(id.split("/")); + List pathSegments = Arrays.asList(pathTemplate.split("/")); + Collections.reverse(idSegmentsReverted); + Iterator idItrReverted = idSegmentsReverted.iterator(); + int pathIndex = pathSegments.size(); + while (idItrReverted.hasNext() && pathIndex > 0) { + String idSegment = idItrReverted.next(); + String pathSegment = pathSegments.get(--pathIndex); + if (!CoreUtils.isNullOrEmpty(idSegment) && !CoreUtils.isNullOrEmpty(pathSegment)) { + if (pathSegment.equalsIgnoreCase(parameterNameParentheses)) { + if (pathIndex == 0 || (pathIndex == 1 && pathSegments.get(0).isEmpty())) { + List segments = new ArrayList<>(); + segments.add(idSegment); + idItrReverted.forEachRemaining(segments::add); + Collections.reverse(segments); + if (segments.size() > 0 && segments.get(0).isEmpty()) { + segments.remove(0); + } + return String.join("/", segments); + } else { + return idSegment; + } + } + } + } + return null; + } + + static PagedIterable mapPage(PagedIterable pageIterable, Function mapper) { + return new PagedIterableImpl(pageIterable, mapper); + } + + private static final class PagedIterableImpl extends PagedIterable { + + private final PagedIterable pagedIterable; + private final Function mapper; + private final Function, PagedResponse> pageMapper; + + private PagedIterableImpl(PagedIterable pagedIterable, Function mapper) { + super( + PagedFlux + .create( + () -> + (continuationToken, pageSize) -> + Flux.fromStream(pagedIterable.streamByPage().map(getPageMapper(mapper))))); + this.pagedIterable = pagedIterable; + this.mapper = mapper; + this.pageMapper = getPageMapper(mapper); + } + + private static Function, PagedResponse> getPageMapper(Function mapper) { + return page -> + new PagedResponseBase( + page.getRequest(), + page.getStatusCode(), + page.getHeaders(), + page.getElements().stream().map(mapper).collect(Collectors.toList()), + page.getContinuationToken(), + null); + } + + @Override + public Stream stream() { + return pagedIterable.stream().map(mapper); + } + + @Override + public Stream> streamByPage() { + return pagedIterable.streamByPage().map(pageMapper); + } + + @Override + public Stream> streamByPage(String continuationToken) { + return pagedIterable.streamByPage(continuationToken).map(pageMapper); + } + + @Override + public Stream> streamByPage(int preferredPageSize) { + return pagedIterable.streamByPage(preferredPageSize).map(pageMapper); + } + + @Override + public Stream> streamByPage(String continuationToken, int preferredPageSize) { + return pagedIterable.streamByPage(continuationToken, preferredPageSize).map(pageMapper); + } + + @Override + public Iterator iterator() { + return new IteratorImpl(pagedIterable.iterator(), mapper); + } + + @Override + public Iterable> iterableByPage() { + return new IterableImpl, PagedResponse>(pagedIterable.iterableByPage(), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken) { + return new IterableImpl, PagedResponse>( + pagedIterable.iterableByPage(continuationToken), pageMapper); + } + + @Override + public Iterable> iterableByPage(int preferredPageSize) { + return new IterableImpl, PagedResponse>( + pagedIterable.iterableByPage(preferredPageSize), pageMapper); + } + + @Override + public Iterable> iterableByPage(String continuationToken, int preferredPageSize) { + return new IterableImpl, PagedResponse>( + pagedIterable.iterableByPage(continuationToken, preferredPageSize), pageMapper); + } + } + + private static final class IteratorImpl implements Iterator { + + private final Iterator iterator; + private final Function mapper; + + private IteratorImpl(Iterator iterator, Function mapper) { + this.iterator = iterator; + this.mapper = mapper; + } + + @Override + public boolean hasNext() { + return iterator.hasNext(); + } + + @Override + public S next() { + return mapper.apply(iterator.next()); + } + + @Override + public void remove() { + iterator.remove(); + } + } + + private static final class IterableImpl implements Iterable { + + private final Iterable iterable; + private final Function mapper; + + private IterableImpl(Iterable iterable, Function mapper) { + this.iterable = iterable; + this.mapper = mapper; + } + + @Override + public Iterator iterator() { + return new IteratorImpl(iterable.iterator(), mapper); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ValidationResponseImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ValidationResponseImpl.java new file mode 100644 index 0000000000000..a4850a839a6fc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ValidationResponseImpl.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.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponse; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponseErrorInfo; + +public final class ValidationResponseImpl implements ValidationResponse { + private ValidationResponseInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + ValidationResponseImpl( + ValidationResponseInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public Boolean isValid() { + return this.innerModel().isValid(); + } + + public ValidationResponseErrorInfo errorInfo() { + return this.innerModel().errorInfo(); + } + + public ValidationResponseInner 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/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java new file mode 100644 index 0000000000000..b29f8d25be912 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the implementations for AuthorizationManagementClient. Role based access control provides you a + * way to apply granular level policy administration down to individual resources or resource groups. These calls handle + * provider operations. + */ +package com.azure.resourcemanager.authorization.generated.implementation; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java new file mode 100644 index 0000000000000..7b18e26f8b8dd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessRecommendationType. */ +public final class AccessRecommendationType extends ExpandableStringEnum { + /** Static value Approve for AccessRecommendationType. */ + public static final AccessRecommendationType APPROVE = fromString("Approve"); + + /** Static value Deny for AccessRecommendationType. */ + public static final AccessRecommendationType DENY = fromString("Deny"); + + /** Static value NoInfoAvailable for AccessRecommendationType. */ + public static final AccessRecommendationType NO_INFO_AVAILABLE = fromString("NoInfoAvailable"); + + /** + * Creates or finds a AccessRecommendationType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessRecommendationType. + */ + @JsonCreator + public static AccessRecommendationType fromString(String name) { + return fromString(name, AccessRecommendationType.class); + } + + /** + * Gets known AccessRecommendationType values. + * + * @return known AccessRecommendationType values. + */ + public static Collection values() { + return values(AccessRecommendationType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java new file mode 100644 index 0000000000000..f1a190c50a642 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewActorIdentityType. */ +public final class AccessReviewActorIdentityType extends ExpandableStringEnum { + /** Static value user for AccessReviewActorIdentityType. */ + public static final AccessReviewActorIdentityType USER = fromString("user"); + + /** Static value servicePrincipal for AccessReviewActorIdentityType. */ + public static final AccessReviewActorIdentityType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates or finds a AccessReviewActorIdentityType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewActorIdentityType. + */ + @JsonCreator + public static AccessReviewActorIdentityType fromString(String name) { + return fromString(name, AccessReviewActorIdentityType.class); + } + + /** + * Gets known AccessReviewActorIdentityType values. + * + * @return known AccessReviewActorIdentityType values. + */ + public static Collection values() { + return values(AccessReviewActorIdentityType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java new file mode 100644 index 0000000000000..84a12ade0d0ae --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewApplyResult. */ +public final class AccessReviewApplyResult extends ExpandableStringEnum { + /** Static value New for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult NEW = fromString("New"); + + /** Static value Applying for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLYING = fromString("Applying"); + + /** Static value AppliedSuccessfully for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_SUCCESSFULLY = fromString("AppliedSuccessfully"); + + /** Static value AppliedWithUnknownFailure for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_WITH_UNKNOWN_FAILURE = fromString("AppliedWithUnknownFailure"); + + /** Static value AppliedSuccessfullyButObjectNotFound for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLIED_SUCCESSFULLY_BUT_OBJECT_NOT_FOUND = + fromString("AppliedSuccessfullyButObjectNotFound"); + + /** Static value ApplyNotSupported for AccessReviewApplyResult. */ + public static final AccessReviewApplyResult APPLY_NOT_SUPPORTED = fromString("ApplyNotSupported"); + + /** + * Creates or finds a AccessReviewApplyResult from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewApplyResult. + */ + @JsonCreator + public static AccessReviewApplyResult fromString(String name) { + return fromString(name, AccessReviewApplyResult.class); + } + + /** + * Gets known AccessReviewApplyResult values. + * + * @return known AccessReviewApplyResult values. + */ + public static Collection values() { + return values(AccessReviewApplyResult.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java new file mode 100644 index 0000000000000..1bf7e3f2119e3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewDecision. */ +public interface AccessReviewDecision { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + AccessRecommendationType recommendation(); + + /** + * Gets the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + AccessReviewResult decision(); + + /** + * Gets the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + String justification(); + + /** + * Gets the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + OffsetDateTime reviewedDateTime(); + + /** + * Gets the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + AccessReviewApplyResult applyResult(); + + /** + * Gets the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + OffsetDateTime appliedDateTime(); + + /** + * Gets the idPropertiesId property: The id of principal whose access was reviewed. + * + * @return the idPropertiesId value. + */ + String idPropertiesId(); + + /** + * Gets the displayName property: The display name of the user whose access was reviewed. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the idResourceId property: The id of resource associated with a decision record. + * + * @return the idResourceId value. + */ + String idResourceId(); + + /** + * Gets the displayNameResourceDisplayName property: The display name of resource associated with a decision record. + * + * @return the displayNameResourceDisplayName value. + */ + String displayNameResourceDisplayName(); + + /** + * Gets the principalId property: The identity id. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + AccessReviewActorIdentityType principalType(); + + /** + * Gets the principalName property: The identity display name. + * + * @return the principalName value. + */ + String principalName(); + + /** + * Gets the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the principalIdAppliedByPrincipalId property: The identity id. + * + * @return the principalIdAppliedByPrincipalId value. + */ + String principalIdAppliedByPrincipalId(); + + /** + * Gets the principalTypeAppliedByPrincipalType property: The identity type : user/servicePrincipal. + * + * @return the principalTypeAppliedByPrincipalType value. + */ + AccessReviewActorIdentityType principalTypeAppliedByPrincipalType(); + + /** + * Gets the principalNameAppliedByPrincipalName property: The identity display name. + * + * @return the principalNameAppliedByPrincipalName value. + */ + String principalNameAppliedByPrincipalName(); + + /** + * Gets the userPrincipalNameAppliedByUserPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalNameAppliedByUserPrincipalName value. + */ + String userPrincipalNameAppliedByUserPrincipalName(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner object. + * + * @return the inner object. + */ + AccessReviewDecisionInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java new file mode 100644 index 0000000000000..9f5d157b99f2b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of access review decisions. */ +@Fluent +public final class AccessReviewDecisionListResult { + /* + * Access Review Decision list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Access Review Decision list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Decision list. + * + * @param value the value value to set. + * @return the AccessReviewDecisionListResult object itself. + */ + public AccessReviewDecisionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewDecisionListResult object itself. + */ + public AccessReviewDecisionListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java new file mode 100644 index 0000000000000..38278132cc79b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionServicePrincipalIdentity.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionIdentity; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Service Principal Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("servicePrincipal") +@Immutable +public class AccessReviewDecisionServicePrincipalIdentity extends AccessReviewDecisionIdentity { + /* + * The appId for the service principal entity being reviewed + */ + @JsonProperty(value = "appId", access = JsonProperty.Access.WRITE_ONLY) + private String appId; + + /** + * Get the appId property: The appId for the service principal entity being reviewed. + * + * @return the appId value. + */ + public String appId() { + return this.appId; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java new file mode 100644 index 0000000000000..45f8b73e50b85 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionUserIdentity.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionIdentity; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** User Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("user") +@Immutable +public class AccessReviewDecisionUserIdentity extends AccessReviewDecisionIdentity { + /* + * The user principal name of the user whose access was reviewed. + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /** + * Get the userPrincipalName property: The user principal name of the user whose access was reviewed. + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.userPrincipalName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java new file mode 100644 index 0000000000000..c72111eb97d79 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewDefaultSettings. */ +public interface AccessReviewDefaultSettings { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + Boolean mailNotificationsEnabled(); + + /** + * Gets the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + Boolean reminderNotificationsEnabled(); + + /** + * Gets the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + Boolean defaultDecisionEnabled(); + + /** + * Gets the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + Boolean justificationRequiredOnApproval(); + + /** + * Gets the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + DefaultDecisionType defaultDecision(); + + /** + * Gets the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + Boolean autoApplyDecisionsEnabled(); + + /** + * Gets the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + Boolean recommendationsEnabled(); + + /** + * Gets the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + Integer instanceDurationInDays(); + + /** + * Gets the typePropertiesType property: The recurrence type : weekly, monthly, etc. + * + * @return the typePropertiesType value. + */ + AccessReviewRecurrencePatternType typePropertiesType(); + + /** + * Gets the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + Integer interval(); + + /** + * Gets the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + AccessReviewRecurrenceRangeType typeRangeType(); + + /** + * Gets the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + Integer numberOfOccurrences(); + + /** + * Gets the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + OffsetDateTime startDate(); + + /** + * Gets the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + OffsetDateTime endDate(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner + * object. + * + * @return the inner object. + */ + AccessReviewDefaultSettingsInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java new file mode 100644 index 0000000000000..d98701e5d8ec6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettingsOperations.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Resource collection API of AccessReviewDefaultSettingsOperations. */ +public interface AccessReviewDefaultSettingsOperations { + /** + * Get access review default settings for the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription. + */ + AccessReviewDefaultSettings get(); + + /** + * Get access review default settings for the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription along with {@link Response}. + */ + Response getWithResponse(Context context); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription. + */ + AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties); + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription along with {@link Response}. + */ + Response putWithResponse(AccessReviewScheduleSettings properties, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java new file mode 100644 index 0000000000000..fb5caa0404d7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstance.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of AccessReviewInstance. */ +public interface AccessReviewInstance { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + AccessReviewInstanceStatus status(); + + /** + * Gets the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner object. + * + * @return the inner object. + */ + AccessReviewInstanceInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java new file mode 100644 index 0000000000000..d8a236a4bc2f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstanceDecisions. */ +public interface AccessReviewInstanceDecisions { + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java new file mode 100644 index 0000000000000..f2bbdb2549837 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Instances. */ +@Fluent +public final class AccessReviewInstanceListResult { + /* + * Access Review Instance list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Access Review Instance list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Instance list. + * + * @param value the value value to set. + * @return the AccessReviewInstanceListResult object itself. + */ + public AccessReviewInstanceListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewInstanceListResult object itself. + */ + public AccessReviewInstanceListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java new file mode 100644 index 0000000000000..839e1469327e2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Resource collection API of AccessReviewInstanceMyDecisions. */ +public interface AccessReviewInstanceMyDecisions { + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String id, String filter, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision. + */ + AccessReviewDecision getById(String scheduleDefinitionId, String id, String decisionId); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision along with {@link Response}. + */ + Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review. + */ + AccessReviewDecision patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties); + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review along with {@link Response}. + */ + Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java new file mode 100644 index 0000000000000..2b0298821374a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceOperations.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstanceOperations. */ +public interface AccessReviewInstanceOperations { + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void stop(String scheduleDefinitionId, String id); + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response stopWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void resetDecisions(String scheduleDefinitionId, String id); + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response resetDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void applyDecisions(String scheduleDefinitionId, String id); + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response applyDecisionsWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void sendReminders(String scheduleDefinitionId, String id); + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response sendRemindersWithResponse(String scheduleDefinitionId, String id, Context context); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void acceptRecommendations(String scheduleDefinitionId, String id); + + /** + * An action to accept recommendations for decision in an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response acceptRecommendationsWithResponse(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java new file mode 100644 index 0000000000000..3befe3b5e207f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewInstanceStatus. */ +public final class AccessReviewInstanceStatus extends ExpandableStringEnum { + /** Static value NotStarted for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus NOT_STARTED = fromString("NotStarted"); + + /** Static value InProgress for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus IN_PROGRESS = fromString("InProgress"); + + /** Static value Completed for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus COMPLETED = fromString("Completed"); + + /** Static value Applied for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus APPLIED = fromString("Applied"); + + /** Static value Initializing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus INITIALIZING = fromString("Initializing"); + + /** Static value Applying for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus APPLYING = fromString("Applying"); + + /** Static value Completing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus COMPLETING = fromString("Completing"); + + /** Static value Scheduled for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus SCHEDULED = fromString("Scheduled"); + + /** Static value AutoReviewing for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus AUTO_REVIEWING = fromString("AutoReviewing"); + + /** Static value AutoReviewed for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus AUTO_REVIEWED = fromString("AutoReviewed"); + + /** Static value Starting for AccessReviewInstanceStatus. */ + public static final AccessReviewInstanceStatus STARTING = fromString("Starting"); + + /** + * Creates or finds a AccessReviewInstanceStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewInstanceStatus. + */ + @JsonCreator + public static AccessReviewInstanceStatus fromString(String name) { + return fromString(name, AccessReviewInstanceStatus.class); + } + + /** + * Gets known AccessReviewInstanceStatus values. + * + * @return known AccessReviewInstanceStatus values. + */ + public static Collection values() { + return values(AccessReviewInstanceStatus.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java new file mode 100644 index 0000000000000..dff7757ee6a2f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstances. */ +public interface AccessReviewInstances { + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + AccessReviewInstance getById(String scheduleDefinitionId, String id); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java new file mode 100644 index 0000000000000..1f6c14f844404 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java @@ -0,0 +1,63 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewInstancesAssignedForMyApprovals. */ +public interface AccessReviewInstancesAssignedForMyApprovals { + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String scheduleDefinitionId, String filter, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval. + */ + AccessReviewInstance getById(String scheduleDefinitionId, String id); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java new file mode 100644 index 0000000000000..642110fec2aa1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewRecurrencePatternType. */ +public final class AccessReviewRecurrencePatternType extends ExpandableStringEnum { + /** Static value weekly for AccessReviewRecurrencePatternType. */ + public static final AccessReviewRecurrencePatternType WEEKLY = fromString("weekly"); + + /** Static value absoluteMonthly for AccessReviewRecurrencePatternType. */ + public static final AccessReviewRecurrencePatternType ABSOLUTE_MONTHLY = fromString("absoluteMonthly"); + + /** + * Creates or finds a AccessReviewRecurrencePatternType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewRecurrencePatternType. + */ + @JsonCreator + public static AccessReviewRecurrencePatternType fromString(String name) { + return fromString(name, AccessReviewRecurrencePatternType.class); + } + + /** + * Gets known AccessReviewRecurrencePatternType values. + * + * @return known AccessReviewRecurrencePatternType values. + */ + public static Collection values() { + return values(AccessReviewRecurrencePatternType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java new file mode 100644 index 0000000000000..7621b88887112 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewRecurrenceRangeType. */ +public final class AccessReviewRecurrenceRangeType extends ExpandableStringEnum { + /** Static value endDate for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType END_DATE = fromString("endDate"); + + /** Static value noEnd for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType NO_END = fromString("noEnd"); + + /** Static value numbered for AccessReviewRecurrenceRangeType. */ + public static final AccessReviewRecurrenceRangeType NUMBERED = fromString("numbered"); + + /** + * Creates or finds a AccessReviewRecurrenceRangeType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewRecurrenceRangeType. + */ + @JsonCreator + public static AccessReviewRecurrenceRangeType fromString(String name) { + return fromString(name, AccessReviewRecurrenceRangeType.class); + } + + /** + * Gets known AccessReviewRecurrenceRangeType values. + * + * @return known AccessReviewRecurrenceRangeType values. + */ + public static Collection values() { + return values(AccessReviewRecurrenceRangeType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java new file mode 100644 index 0000000000000..ca4a2f018c831 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewResult. */ +public final class AccessReviewResult extends ExpandableStringEnum { + /** Static value Approve for AccessReviewResult. */ + public static final AccessReviewResult APPROVE = fromString("Approve"); + + /** Static value Deny for AccessReviewResult. */ + public static final AccessReviewResult DENY = fromString("Deny"); + + /** Static value NotReviewed for AccessReviewResult. */ + public static final AccessReviewResult NOT_REVIEWED = fromString("NotReviewed"); + + /** Static value DontKnow for AccessReviewResult. */ + public static final AccessReviewResult DONT_KNOW = fromString("DontKnow"); + + /** Static value NotNotified for AccessReviewResult. */ + public static final AccessReviewResult NOT_NOTIFIED = fromString("NotNotified"); + + /** + * Creates or finds a AccessReviewResult from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewResult. + */ + @JsonCreator + public static AccessReviewResult fromString(String name) { + return fromString(name, AccessReviewResult.class); + } + + /** + * Gets known AccessReviewResult values. + * + * @return known AccessReviewResult values. + */ + public static Collection values() { + return values(AccessReviewResult.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java new file mode 100644 index 0000000000000..4ac7811b6581f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Descriptor for what needs to be reviewed. */ +@Fluent +public final class AccessReviewReviewer { + /* + * The id of the reviewer(user/servicePrincipal) + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The identity type : user/servicePrincipal + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewReviewerType principalType; + + /** + * Get the principalId property: The id of the reviewer(user/servicePrincipal). + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The id of the reviewer(user/servicePrincipal). + * + * @param principalId the principalId value to set. + * @return the AccessReviewReviewer object itself. + */ + public AccessReviewReviewer withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewReviewerType principalType() { + return this.principalType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java new file mode 100644 index 0000000000000..e2481a89d19ba --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewReviewerType. */ +public final class AccessReviewReviewerType extends ExpandableStringEnum { + /** Static value user for AccessReviewReviewerType. */ + public static final AccessReviewReviewerType USER = fromString("user"); + + /** Static value servicePrincipal for AccessReviewReviewerType. */ + public static final AccessReviewReviewerType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates or finds a AccessReviewReviewerType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewReviewerType. + */ + @JsonCreator + public static AccessReviewReviewerType fromString(String name) { + return fromString(name, AccessReviewReviewerType.class); + } + + /** + * Gets known AccessReviewReviewerType values. + * + * @return known AccessReviewReviewerType values. + */ + public static Collection values() { + return values(AccessReviewReviewerType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java new file mode 100644 index 0000000000000..5f9ce1c337090 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java @@ -0,0 +1,870 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of AccessReviewScheduleDefinition. */ +public interface AccessReviewScheduleDefinition { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + AccessReviewScheduleDefinitionStatus status(); + + /** + * Gets the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + String descriptionForAdmins(); + + /** + * Gets the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + String descriptionForReviewers(); + + /** + * Gets the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + List reviewers(); + + /** + * Gets the backupReviewers property: This is the collection of backup reviewers. + * + * @return the backupReviewers value. + */ + List backupReviewers(); + + /** + * Gets the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + AccessReviewScheduleDefinitionReviewersType reviewersType(); + + /** + * Gets the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + List instances(); + + /** + * Gets the principalId property: The identity id. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + AccessReviewActorIdentityType principalType(); + + /** + * Gets the principalName property: The identity display name. + * + * @return the principalName value. + */ + String principalName(); + + /** + * Gets the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + String userPrincipalName(); + + /** + * Gets the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + Boolean mailNotificationsEnabled(); + + /** + * Gets the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + Boolean reminderNotificationsEnabled(); + + /** + * Gets the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + Boolean defaultDecisionEnabled(); + + /** + * Gets the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + Boolean justificationRequiredOnApproval(); + + /** + * Gets the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + DefaultDecisionType defaultDecision(); + + /** + * Gets the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + Boolean autoApplyDecisionsEnabled(); + + /** + * Gets the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + Boolean recommendationsEnabled(); + + /** + * Gets the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + Integer instanceDurationInDays(); + + /** + * Gets the typePropertiesType property: The recurrence type : weekly, monthly, etc. + * + * @return the typePropertiesType value. + */ + AccessReviewRecurrencePatternType typePropertiesType(); + + /** + * Gets the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + Integer interval(); + + /** + * Gets the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the typeRangeType value. + */ + AccessReviewRecurrenceRangeType typeRangeType(); + + /** + * Gets the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + Integer numberOfOccurrences(); + + /** + * Gets the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + OffsetDateTime startDate(); + + /** + * Gets the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + OffsetDateTime endDate(); + + /** + * Gets the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + String resourceId(); + + /** + * Gets the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalTypeScopePrincipalType property: The identity type user/servicePrincipal to review. + * + * @return the principalTypeScopePrincipalType value. + */ + AccessReviewScopePrincipalType principalTypeScopePrincipalType(); + + /** + * Gets the assignmentState property: The role assignment state eligible/active to review. + * + * @return the assignmentState value. + */ + AccessReviewScopeAssignmentState assignmentState(); + + /** + * Gets the inactiveDuration property: Duration users are inactive for. The value should be in ISO 8601 format + * (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval + * string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)). + * + * @return the inactiveDuration value. + */ + Duration inactiveDuration(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner object. + * + * @return the inner object. + */ + AccessReviewScheduleDefinitionInner innerModel(); + + /** The entirety of the AccessReviewScheduleDefinition definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithCreate { + } + /** The AccessReviewScheduleDefinition definition stages. */ + interface DefinitionStages { + /** The first stage of the AccessReviewScheduleDefinition definition. */ + interface Blank extends WithCreate { + } + /** + * The stage of the AccessReviewScheduleDefinition definition which contains all the minimum required properties + * for the resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithDisplayName, + DefinitionStages.WithDescriptionForAdmins, + DefinitionStages.WithDescriptionForReviewers, + DefinitionStages.WithReviewers, + DefinitionStages.WithBackupReviewers, + DefinitionStages.WithInstances, + DefinitionStages.WithMailNotificationsEnabled, + DefinitionStages.WithReminderNotificationsEnabled, + DefinitionStages.WithDefaultDecisionEnabled, + DefinitionStages.WithJustificationRequiredOnApproval, + DefinitionStages.WithDefaultDecision, + DefinitionStages.WithAutoApplyDecisionsEnabled, + DefinitionStages.WithRecommendationsEnabled, + DefinitionStages.WithInstanceDurationInDays, + DefinitionStages.WithType, + DefinitionStages.WithInterval, + DefinitionStages.WithTypeRangeType, + DefinitionStages.WithNumberOfOccurrences, + DefinitionStages.WithStartDate, + DefinitionStages.WithEndDate { + /** + * Executes the create request. + * + * @return the created resource. + */ + AccessReviewScheduleDefinition create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + AccessReviewScheduleDefinition create(Context context); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify displayName. */ + interface WithDisplayName { + /** + * Specifies the displayName property: The display name for the schedule definition.. + * + * @param displayName The display name for the schedule definition. + * @return the next definition stage. + */ + WithCreate withDisplayName(String displayName); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify descriptionForAdmins. */ + interface WithDescriptionForAdmins { + /** + * Specifies the descriptionForAdmins property: The description provided by the access review creator and + * visible to admins.. + * + * @param descriptionForAdmins The description provided by the access review creator and visible to admins. + * @return the next definition stage. + */ + WithCreate withDescriptionForAdmins(String descriptionForAdmins); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify descriptionForReviewers. */ + interface WithDescriptionForReviewers { + /** + * Specifies the descriptionForReviewers property: The description provided by the access review creator to + * be shown to reviewers.. + * + * @param descriptionForReviewers The description provided by the access review creator to be shown to + * reviewers. + * @return the next definition stage. + */ + WithCreate withDescriptionForReviewers(String descriptionForReviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify reviewers. */ + interface WithReviewers { + /** + * Specifies the reviewers property: This is the collection of reviewers.. + * + * @param reviewers This is the collection of reviewers. + * @return the next definition stage. + */ + WithCreate withReviewers(List reviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify backupReviewers. */ + interface WithBackupReviewers { + /** + * Specifies the backupReviewers property: This is the collection of backup reviewers.. + * + * @param backupReviewers This is the collection of backup reviewers. + * @return the next definition stage. + */ + WithCreate withBackupReviewers(List backupReviewers); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify instances. */ + interface WithInstances { + /** + * Specifies the instances property: This is the collection of instances returned when one does an expand on + * it.. + * + * @param instances This is the collection of instances returned when one does an expand on it. + * @return the next definition stage. + */ + WithCreate withInstances(List instances); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify mailNotificationsEnabled. */ + interface WithMailNotificationsEnabled { + /** + * Specifies the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and + * the review creator is enabled.. + * + * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * @return the next definition stage. + */ + WithCreate withMailNotificationsEnabled(Boolean mailNotificationsEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition definition allowing to specify reminderNotificationsEnabled. + */ + interface WithReminderNotificationsEnabled { + /** + * Specifies the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to + * reviewers are enabled.. + * + * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * @return the next definition stage. + */ + WithCreate withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify defaultDecisionEnabled. */ + interface WithDefaultDecisionEnabled { + /** + * Specifies the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide + * a justification when reviewing access.. + * + * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification + * when reviewing access. + * @return the next definition stage. + */ + WithCreate withDefaultDecisionEnabled(Boolean defaultDecisionEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition definition allowing to specify + * justificationRequiredOnApproval. + */ + interface WithJustificationRequiredOnApproval { + /** + * Specifies the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required + * to pass justification when recording a decision.. + * + * @param justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * @return the next definition stage. + */ + WithCreate withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify defaultDecision. */ + interface WithDefaultDecision { + /** + * Specifies the defaultDecision property: This specifies the behavior for the autoReview feature when an + * access review completes.. + * + * @param defaultDecision This specifies the behavior for the autoReview feature when an access review + * completes. + * @return the next definition stage. + */ + WithCreate withDefaultDecision(DefaultDecisionType defaultDecision); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify autoApplyDecisionsEnabled. */ + interface WithAutoApplyDecisionsEnabled { + /** + * Specifies the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to + * automatically change the target object access resource, is enabled. If not enabled, a user must, after + * the review completes, apply the access review.. + * + * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change + * the target object access resource, is enabled. If not enabled, a user must, after the review + * completes, apply the access review. + * @return the next definition stage. + */ + WithCreate withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify recommendationsEnabled. */ + interface WithRecommendationsEnabled { + /** + * Specifies the recommendationsEnabled property: Flag to indicate whether showing recommendations to + * reviewers is enabled.. + * + * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled. + * @return the next definition stage. + */ + WithCreate withRecommendationsEnabled(Boolean recommendationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify instanceDurationInDays. */ + interface WithInstanceDurationInDays { + /** + * Specifies the instanceDurationInDays property: The duration in days for an instance.. + * + * @param instanceDurationInDays The duration in days for an instance. + * @return the next definition stage. + */ + WithCreate withInstanceDurationInDays(Integer instanceDurationInDays); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify type. */ + interface WithType { + /** + * Specifies the type property: The recurrence type : weekly, monthly, etc.. + * + * @param type The recurrence type : weekly, monthly, etc. + * @return the next definition stage. + */ + WithCreate withType(AccessReviewRecurrencePatternType type); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify interval. */ + interface WithInterval { + /** + * Specifies the interval property: The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly.. + * + * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * @return the next definition stage. + */ + WithCreate withInterval(Integer interval); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify typeRangeType. */ + interface WithTypeRangeType { + /** + * Specifies the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, + * numbered.. + * + * @param typeRangeType The recurrence range type. The possible values are: endDate, noEnd, numbered. + * @return the next definition stage. + */ + WithCreate withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify numberOfOccurrences. */ + interface WithNumberOfOccurrences { + /** + * Specifies the numberOfOccurrences property: The number of times to repeat the access review. Required and + * must be positive if type is numbered.. + * + * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive + * if type is numbered. + * @return the next definition stage. + */ + WithCreate withNumberOfOccurrences(Integer numberOfOccurrences); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify startDate. */ + interface WithStartDate { + /** + * Specifies the startDate property: The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create.. + * + * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * @return the next definition stage. + */ + WithCreate withStartDate(OffsetDateTime startDate); + } + /** The stage of the AccessReviewScheduleDefinition definition allowing to specify endDate. */ + interface WithEndDate { + /** + * Specifies the endDate property: The DateTime when the review is scheduled to end. Required if type is + * endDate. + * + * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate. + * @return the next definition stage. + */ + WithCreate withEndDate(OffsetDateTime endDate); + } + } + /** + * Begins update for the AccessReviewScheduleDefinition resource. + * + * @return the stage of resource update. + */ + AccessReviewScheduleDefinition.Update update(); + + /** The template for AccessReviewScheduleDefinition update. */ + interface Update + extends UpdateStages.WithDisplayName, + UpdateStages.WithDescriptionForAdmins, + UpdateStages.WithDescriptionForReviewers, + UpdateStages.WithReviewers, + UpdateStages.WithBackupReviewers, + UpdateStages.WithInstances, + UpdateStages.WithMailNotificationsEnabled, + UpdateStages.WithReminderNotificationsEnabled, + UpdateStages.WithDefaultDecisionEnabled, + UpdateStages.WithJustificationRequiredOnApproval, + UpdateStages.WithDefaultDecision, + UpdateStages.WithAutoApplyDecisionsEnabled, + UpdateStages.WithRecommendationsEnabled, + UpdateStages.WithInstanceDurationInDays, + UpdateStages.WithType, + UpdateStages.WithInterval, + UpdateStages.WithTypeRangeType, + UpdateStages.WithNumberOfOccurrences, + UpdateStages.WithStartDate, + UpdateStages.WithEndDate { + /** + * Executes the update request. + * + * @return the updated resource. + */ + AccessReviewScheduleDefinition apply(); + + /** + * Executes the update request. + * + * @param context The context to associate with this operation. + * @return the updated resource. + */ + AccessReviewScheduleDefinition apply(Context context); + } + /** The AccessReviewScheduleDefinition update stages. */ + interface UpdateStages { + /** The stage of the AccessReviewScheduleDefinition update allowing to specify displayName. */ + interface WithDisplayName { + /** + * Specifies the displayName property: The display name for the schedule definition.. + * + * @param displayName The display name for the schedule definition. + * @return the next definition stage. + */ + Update withDisplayName(String displayName); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify descriptionForAdmins. */ + interface WithDescriptionForAdmins { + /** + * Specifies the descriptionForAdmins property: The description provided by the access review creator and + * visible to admins.. + * + * @param descriptionForAdmins The description provided by the access review creator and visible to admins. + * @return the next definition stage. + */ + Update withDescriptionForAdmins(String descriptionForAdmins); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify descriptionForReviewers. */ + interface WithDescriptionForReviewers { + /** + * Specifies the descriptionForReviewers property: The description provided by the access review creator to + * be shown to reviewers.. + * + * @param descriptionForReviewers The description provided by the access review creator to be shown to + * reviewers. + * @return the next definition stage. + */ + Update withDescriptionForReviewers(String descriptionForReviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify reviewers. */ + interface WithReviewers { + /** + * Specifies the reviewers property: This is the collection of reviewers.. + * + * @param reviewers This is the collection of reviewers. + * @return the next definition stage. + */ + Update withReviewers(List reviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify backupReviewers. */ + interface WithBackupReviewers { + /** + * Specifies the backupReviewers property: This is the collection of backup reviewers.. + * + * @param backupReviewers This is the collection of backup reviewers. + * @return the next definition stage. + */ + Update withBackupReviewers(List backupReviewers); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify instances. */ + interface WithInstances { + /** + * Specifies the instances property: This is the collection of instances returned when one does an expand on + * it.. + * + * @param instances This is the collection of instances returned when one does an expand on it. + * @return the next definition stage. + */ + Update withInstances(List instances); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify mailNotificationsEnabled. */ + interface WithMailNotificationsEnabled { + /** + * Specifies the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and + * the review creator is enabled.. + * + * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * @return the next definition stage. + */ + Update withMailNotificationsEnabled(Boolean mailNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify reminderNotificationsEnabled. */ + interface WithReminderNotificationsEnabled { + /** + * Specifies the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to + * reviewers are enabled.. + * + * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * @return the next definition stage. + */ + Update withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify defaultDecisionEnabled. */ + interface WithDefaultDecisionEnabled { + /** + * Specifies the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide + * a justification when reviewing access.. + * + * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification + * when reviewing access. + * @return the next definition stage. + */ + Update withDefaultDecisionEnabled(Boolean defaultDecisionEnabled); + } + /** + * The stage of the AccessReviewScheduleDefinition update allowing to specify justificationRequiredOnApproval. + */ + interface WithJustificationRequiredOnApproval { + /** + * Specifies the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required + * to pass justification when recording a decision.. + * + * @param justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * @return the next definition stage. + */ + Update withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify defaultDecision. */ + interface WithDefaultDecision { + /** + * Specifies the defaultDecision property: This specifies the behavior for the autoReview feature when an + * access review completes.. + * + * @param defaultDecision This specifies the behavior for the autoReview feature when an access review + * completes. + * @return the next definition stage. + */ + Update withDefaultDecision(DefaultDecisionType defaultDecision); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify autoApplyDecisionsEnabled. */ + interface WithAutoApplyDecisionsEnabled { + /** + * Specifies the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to + * automatically change the target object access resource, is enabled. If not enabled, a user must, after + * the review completes, apply the access review.. + * + * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change + * the target object access resource, is enabled. If not enabled, a user must, after the review + * completes, apply the access review. + * @return the next definition stage. + */ + Update withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify recommendationsEnabled. */ + interface WithRecommendationsEnabled { + /** + * Specifies the recommendationsEnabled property: Flag to indicate whether showing recommendations to + * reviewers is enabled.. + * + * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled. + * @return the next definition stage. + */ + Update withRecommendationsEnabled(Boolean recommendationsEnabled); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify instanceDurationInDays. */ + interface WithInstanceDurationInDays { + /** + * Specifies the instanceDurationInDays property: The duration in days for an instance.. + * + * @param instanceDurationInDays The duration in days for an instance. + * @return the next definition stage. + */ + Update withInstanceDurationInDays(Integer instanceDurationInDays); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify type. */ + interface WithType { + /** + * Specifies the type property: The recurrence type : weekly, monthly, etc.. + * + * @param type The recurrence type : weekly, monthly, etc. + * @return the next definition stage. + */ + Update withType(AccessReviewRecurrencePatternType type); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify interval. */ + interface WithInterval { + /** + * Specifies the interval property: The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly.. + * + * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * @return the next definition stage. + */ + Update withInterval(Integer interval); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify typeRangeType. */ + interface WithTypeRangeType { + /** + * Specifies the typeRangeType property: The recurrence range type. The possible values are: endDate, noEnd, + * numbered.. + * + * @param typeRangeType The recurrence range type. The possible values are: endDate, noEnd, numbered. + * @return the next definition stage. + */ + Update withTypeRangeType(AccessReviewRecurrenceRangeType typeRangeType); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify numberOfOccurrences. */ + interface WithNumberOfOccurrences { + /** + * Specifies the numberOfOccurrences property: The number of times to repeat the access review. Required and + * must be positive if type is numbered.. + * + * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive + * if type is numbered. + * @return the next definition stage. + */ + Update withNumberOfOccurrences(Integer numberOfOccurrences); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify startDate. */ + interface WithStartDate { + /** + * Specifies the startDate property: The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create.. + * + * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * @return the next definition stage. + */ + Update withStartDate(OffsetDateTime startDate); + } + /** The stage of the AccessReviewScheduleDefinition update allowing to specify endDate. */ + interface WithEndDate { + /** + * Specifies the endDate property: The DateTime when the review is scheduled to end. Required if type is + * endDate. + * + * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate. + * @return the next definition stage. + */ + Update withEndDate(OffsetDateTime endDate); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + AccessReviewScheduleDefinition refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + AccessReviewScheduleDefinition refresh(Context context); + + /** + * Stop access review definition. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void stop(); + + /** + * Stop access review definition. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response stopWithResponse(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java new file mode 100644 index 0000000000000..8612bfb03c229 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Schedule Definitions. */ +@Fluent +public final class AccessReviewScheduleDefinitionListResult { + /* + * Access Review Schedule Definition list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Access Review Schedule Definition list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Access Review Schedule Definition list. + * + * @param value the value value to set. + * @return the AccessReviewScheduleDefinitionListResult object itself. + */ + public AccessReviewScheduleDefinitionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the AccessReviewScheduleDefinitionListResult object itself. + */ + public AccessReviewScheduleDefinitionListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java new file mode 100644 index 0000000000000..762fc73a5ea8a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.java @@ -0,0 +1,42 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewScheduleDefinitionReviewersType. */ +public final class AccessReviewScheduleDefinitionReviewersType + extends ExpandableStringEnum { + /** Static value Assigned for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType ASSIGNED = fromString("Assigned"); + + /** Static value Self for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType SELF = fromString("Self"); + + /** Static value Managers for AccessReviewScheduleDefinitionReviewersType. */ + public static final AccessReviewScheduleDefinitionReviewersType MANAGERS = fromString("Managers"); + + /** + * Creates or finds a AccessReviewScheduleDefinitionReviewersType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScheduleDefinitionReviewersType. + */ + @JsonCreator + public static AccessReviewScheduleDefinitionReviewersType fromString(String name) { + return fromString(name, AccessReviewScheduleDefinitionReviewersType.class); + } + + /** + * Gets known AccessReviewScheduleDefinitionReviewersType values. + * + * @return known AccessReviewScheduleDefinitionReviewersType values. + */ + public static Collection values() { + return values(AccessReviewScheduleDefinitionReviewersType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java new file mode 100644 index 0000000000000..dd34a4151cb21 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.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.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewScheduleDefinitionStatus. */ +public final class AccessReviewScheduleDefinitionStatus + extends ExpandableStringEnum { + /** Static value NotStarted for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus NOT_STARTED = fromString("NotStarted"); + + /** Static value InProgress for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus IN_PROGRESS = fromString("InProgress"); + + /** Static value Completed for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus COMPLETED = fromString("Completed"); + + /** Static value Applied for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus APPLIED = fromString("Applied"); + + /** Static value Initializing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus INITIALIZING = fromString("Initializing"); + + /** Static value Applying for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus APPLYING = fromString("Applying"); + + /** Static value Completing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus COMPLETING = fromString("Completing"); + + /** Static value Scheduled for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus SCHEDULED = fromString("Scheduled"); + + /** Static value AutoReviewing for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus AUTO_REVIEWING = fromString("AutoReviewing"); + + /** Static value AutoReviewed for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus AUTO_REVIEWED = fromString("AutoReviewed"); + + /** Static value Starting for AccessReviewScheduleDefinitionStatus. */ + public static final AccessReviewScheduleDefinitionStatus STARTING = fromString("Starting"); + + /** + * Creates or finds a AccessReviewScheduleDefinitionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScheduleDefinitionStatus. + */ + @JsonCreator + public static AccessReviewScheduleDefinitionStatus fromString(String name) { + return fromString(name, AccessReviewScheduleDefinitionStatus.class); + } + + /** + * Gets known AccessReviewScheduleDefinitionStatus values. + * + * @return known AccessReviewScheduleDefinitionStatus values. + */ + public static Collection values() { + return values(AccessReviewScheduleDefinitionStatus.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java new file mode 100644 index 0000000000000..6c429d33f9492 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewScheduleDefinitions. */ +public interface AccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Get access review schedule definitions. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition. + */ + AccessReviewScheduleDefinition getById(String scheduleDefinitionId); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition along with {@link Response}. + */ + Response getByIdWithResponse(String scheduleDefinitionId, Context context); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteById(String scheduleDefinitionId); + + /** + * Delete access review schedule definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteByIdWithResponse(String scheduleDefinitionId, Context context); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void stop(String scheduleDefinitionId); + + /** + * Stop access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response stopWithResponse(String scheduleDefinitionId, Context context); + + /** + * Begins definition for a new AccessReviewScheduleDefinition resource. + * + * @param name resource name. + * @return the first stage of the new AccessReviewScheduleDefinition definition. + */ + AccessReviewScheduleDefinition.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java new file mode 100644 index 0000000000000..f79fe8ba36e39 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. */ +public interface AccessReviewScheduleDefinitionsAssignedForMyApprovals { + /** + * Get access review instances assigned for my approval. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Get access review instances assigned for my approval. + * + * @param filter The filter to apply on the operation. Other than standard filters, one custom filter option is + * supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are + * assigned to the calling user to review are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java new file mode 100644 index 0000000000000..aaa2cce941e81 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopeAssignmentState.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewScopeAssignmentState. */ +public final class AccessReviewScopeAssignmentState extends ExpandableStringEnum { + /** Static value eligible for AccessReviewScopeAssignmentState. */ + public static final AccessReviewScopeAssignmentState ELIGIBLE = fromString("eligible"); + + /** Static value active for AccessReviewScopeAssignmentState. */ + public static final AccessReviewScopeAssignmentState ACTIVE = fromString("active"); + + /** + * Creates or finds a AccessReviewScopeAssignmentState from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScopeAssignmentState. + */ + @JsonCreator + public static AccessReviewScopeAssignmentState fromString(String name) { + return fromString(name, AccessReviewScopeAssignmentState.class); + } + + /** + * Gets known AccessReviewScopeAssignmentState values. + * + * @return known AccessReviewScopeAssignmentState values. + */ + public static Collection values() { + return values(AccessReviewScopeAssignmentState.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java new file mode 100644 index 0000000000000..b1e6376836df6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AccessReviewScopePrincipalType. */ +public final class AccessReviewScopePrincipalType extends ExpandableStringEnum { + /** Static value user for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType USER = fromString("user"); + + /** Static value guestUser for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType GUEST_USER = fromString("guestUser"); + + /** Static value servicePrincipal for AccessReviewScopePrincipalType. */ + public static final AccessReviewScopePrincipalType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates or finds a AccessReviewScopePrincipalType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AccessReviewScopePrincipalType. + */ + @JsonCreator + public static AccessReviewScopePrincipalType fromString(String name) { + return fromString(name, AccessReviewScopePrincipalType.class); + } + + /** + * Gets known AccessReviewScopePrincipalType values. + * + * @return known AccessReviewScopePrincipalType values. + */ + public static Collection values() { + return values(AccessReviewScopePrincipalType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalMode.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalMode.java new file mode 100644 index 0000000000000..2c07032595e6b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalMode.java @@ -0,0 +1,44 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for ApprovalMode. */ +public final class ApprovalMode extends ExpandableStringEnum { + /** Static value SingleStage for ApprovalMode. */ + public static final ApprovalMode SINGLE_STAGE = fromString("SingleStage"); + + /** Static value Serial for ApprovalMode. */ + public static final ApprovalMode SERIAL = fromString("Serial"); + + /** Static value Parallel for ApprovalMode. */ + public static final ApprovalMode PARALLEL = fromString("Parallel"); + + /** Static value NoApproval for ApprovalMode. */ + public static final ApprovalMode NO_APPROVAL = fromString("NoApproval"); + + /** + * Creates or finds a ApprovalMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding ApprovalMode. + */ + @JsonCreator + public static ApprovalMode fromString(String name) { + return fromString(name, ApprovalMode.class); + } + + /** + * Gets known ApprovalMode values. + * + * @return known ApprovalMode values. + */ + public static Collection values() { + return values(ApprovalMode.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalSettings.java new file mode 100644 index 0000000000000..d04f5279c3b90 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalSettings.java @@ -0,0 +1,154 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The approval settings. */ +@Fluent +public final class ApprovalSettings { + /* + * Determine whether approval is required or not. + */ + @JsonProperty(value = "isApprovalRequired") + private Boolean isApprovalRequired; + + /* + * Determine whether approval is required for assignment extension. + */ + @JsonProperty(value = "isApprovalRequiredForExtension") + private Boolean isApprovalRequiredForExtension; + + /* + * Determine whether requestor justification required. + */ + @JsonProperty(value = "isRequestorJustificationRequired") + private Boolean isRequestorJustificationRequired; + + /* + * The type of rule + */ + @JsonProperty(value = "approvalMode") + private ApprovalMode approvalMode; + + /* + * The approval stages of the request. + */ + @JsonProperty(value = "approvalStages") + private List approvalStages; + + /** + * Get the isApprovalRequired property: Determine whether approval is required or not. + * + * @return the isApprovalRequired value. + */ + public Boolean isApprovalRequired() { + return this.isApprovalRequired; + } + + /** + * Set the isApprovalRequired property: Determine whether approval is required or not. + * + * @param isApprovalRequired the isApprovalRequired value to set. + * @return the ApprovalSettings object itself. + */ + public ApprovalSettings withIsApprovalRequired(Boolean isApprovalRequired) { + this.isApprovalRequired = isApprovalRequired; + return this; + } + + /** + * Get the isApprovalRequiredForExtension property: Determine whether approval is required for assignment extension. + * + * @return the isApprovalRequiredForExtension value. + */ + public Boolean isApprovalRequiredForExtension() { + return this.isApprovalRequiredForExtension; + } + + /** + * Set the isApprovalRequiredForExtension property: Determine whether approval is required for assignment extension. + * + * @param isApprovalRequiredForExtension the isApprovalRequiredForExtension value to set. + * @return the ApprovalSettings object itself. + */ + public ApprovalSettings withIsApprovalRequiredForExtension(Boolean isApprovalRequiredForExtension) { + this.isApprovalRequiredForExtension = isApprovalRequiredForExtension; + return this; + } + + /** + * Get the isRequestorJustificationRequired property: Determine whether requestor justification required. + * + * @return the isRequestorJustificationRequired value. + */ + public Boolean isRequestorJustificationRequired() { + return this.isRequestorJustificationRequired; + } + + /** + * Set the isRequestorJustificationRequired property: Determine whether requestor justification required. + * + * @param isRequestorJustificationRequired the isRequestorJustificationRequired value to set. + * @return the ApprovalSettings object itself. + */ + public ApprovalSettings withIsRequestorJustificationRequired(Boolean isRequestorJustificationRequired) { + this.isRequestorJustificationRequired = isRequestorJustificationRequired; + return this; + } + + /** + * Get the approvalMode property: The type of rule. + * + * @return the approvalMode value. + */ + public ApprovalMode approvalMode() { + return this.approvalMode; + } + + /** + * Set the approvalMode property: The type of rule. + * + * @param approvalMode the approvalMode value to set. + * @return the ApprovalSettings object itself. + */ + public ApprovalSettings withApprovalMode(ApprovalMode approvalMode) { + this.approvalMode = approvalMode; + return this; + } + + /** + * Get the approvalStages property: The approval stages of the request. + * + * @return the approvalStages value. + */ + public List approvalStages() { + return this.approvalStages; + } + + /** + * Set the approvalStages property: The approval stages of the request. + * + * @param approvalStages the approvalStages value to set. + * @return the ApprovalSettings object itself. + */ + public ApprovalSettings withApprovalStages(List approvalStages) { + this.approvalStages = approvalStages; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (approvalStages() != null) { + approvalStages().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalStage.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalStage.java new file mode 100644 index 0000000000000..5b93b03ecd6ee --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalStage.java @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The approval stage. */ +@Fluent +public final class ApprovalStage { + /* + * The time in days when approval request would be timed out. + */ + @JsonProperty(value = "approvalStageTimeOutInDays") + private Integer approvalStageTimeOutInDays; + + /* + * Determine whether approver need to provide justification for his + * decision. + */ + @JsonProperty(value = "isApproverJustificationRequired") + private Boolean isApproverJustificationRequired; + + /* + * The time in minutes when the approval request would be escalated if the + * primary approver does not approves. + */ + @JsonProperty(value = "escalationTimeInMinutes") + private Integer escalationTimeInMinutes; + + /* + * The primary approver of the request. + */ + @JsonProperty(value = "primaryApprovers") + private List primaryApprovers; + + /* + * The value determine whether escalation feature is enabled. + */ + @JsonProperty(value = "isEscalationEnabled") + private Boolean isEscalationEnabled; + + /* + * The escalation approver of the request. + */ + @JsonProperty(value = "escalationApprovers") + private List escalationApprovers; + + /** + * Get the approvalStageTimeOutInDays property: The time in days when approval request would be timed out. + * + * @return the approvalStageTimeOutInDays value. + */ + public Integer approvalStageTimeOutInDays() { + return this.approvalStageTimeOutInDays; + } + + /** + * Set the approvalStageTimeOutInDays property: The time in days when approval request would be timed out. + * + * @param approvalStageTimeOutInDays the approvalStageTimeOutInDays value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withApprovalStageTimeOutInDays(Integer approvalStageTimeOutInDays) { + this.approvalStageTimeOutInDays = approvalStageTimeOutInDays; + return this; + } + + /** + * Get the isApproverJustificationRequired property: Determine whether approver need to provide justification for + * his decision. + * + * @return the isApproverJustificationRequired value. + */ + public Boolean isApproverJustificationRequired() { + return this.isApproverJustificationRequired; + } + + /** + * Set the isApproverJustificationRequired property: Determine whether approver need to provide justification for + * his decision. + * + * @param isApproverJustificationRequired the isApproverJustificationRequired value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withIsApproverJustificationRequired(Boolean isApproverJustificationRequired) { + this.isApproverJustificationRequired = isApproverJustificationRequired; + return this; + } + + /** + * Get the escalationTimeInMinutes property: The time in minutes when the approval request would be escalated if the + * primary approver does not approves. + * + * @return the escalationTimeInMinutes value. + */ + public Integer escalationTimeInMinutes() { + return this.escalationTimeInMinutes; + } + + /** + * Set the escalationTimeInMinutes property: The time in minutes when the approval request would be escalated if the + * primary approver does not approves. + * + * @param escalationTimeInMinutes the escalationTimeInMinutes value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withEscalationTimeInMinutes(Integer escalationTimeInMinutes) { + this.escalationTimeInMinutes = escalationTimeInMinutes; + return this; + } + + /** + * Get the primaryApprovers property: The primary approver of the request. + * + * @return the primaryApprovers value. + */ + public List primaryApprovers() { + return this.primaryApprovers; + } + + /** + * Set the primaryApprovers property: The primary approver of the request. + * + * @param primaryApprovers the primaryApprovers value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withPrimaryApprovers(List primaryApprovers) { + this.primaryApprovers = primaryApprovers; + return this; + } + + /** + * Get the isEscalationEnabled property: The value determine whether escalation feature is enabled. + * + * @return the isEscalationEnabled value. + */ + public Boolean isEscalationEnabled() { + return this.isEscalationEnabled; + } + + /** + * Set the isEscalationEnabled property: The value determine whether escalation feature is enabled. + * + * @param isEscalationEnabled the isEscalationEnabled value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withIsEscalationEnabled(Boolean isEscalationEnabled) { + this.isEscalationEnabled = isEscalationEnabled; + return this; + } + + /** + * Get the escalationApprovers property: The escalation approver of the request. + * + * @return the escalationApprovers value. + */ + public List escalationApprovers() { + return this.escalationApprovers; + } + + /** + * Set the escalationApprovers property: The escalation approver of the request. + * + * @param escalationApprovers the escalationApprovers value to set. + * @return the ApprovalStage object itself. + */ + public ApprovalStage withEscalationApprovers(List escalationApprovers) { + this.escalationApprovers = escalationApprovers; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (primaryApprovers() != null) { + primaryApprovers().forEach(e -> e.validate()); + } + if (escalationApprovers() != null) { + escalationApprovers().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AssignmentType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AssignmentType.java new file mode 100644 index 0000000000000..39164f93c8fde --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AssignmentType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for AssignmentType. */ +public final class AssignmentType extends ExpandableStringEnum { + /** Static value Activated for AssignmentType. */ + public static final AssignmentType ACTIVATED = fromString("Activated"); + + /** Static value Assigned for AssignmentType. */ + public static final AssignmentType ASSIGNED = fromString("Assigned"); + + /** + * Creates or finds a AssignmentType from its string representation. + * + * @param name a name to look for. + * @return the corresponding AssignmentType. + */ + @JsonCreator + public static AssignmentType fromString(String name) { + return fromString(name, AssignmentType.class); + } + + /** + * Gets known AssignmentType values. + * + * @return known AssignmentType values. + */ + public static Collection values() { + return values(AssignmentType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java new file mode 100644 index 0000000000000..161bfb9e433c8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionResourceType.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DecisionResourceType. */ +public final class DecisionResourceType extends ExpandableStringEnum { + /** Static value azureRole for DecisionResourceType. */ + public static final DecisionResourceType AZURE_ROLE = fromString("azureRole"); + + /** + * Creates or finds a DecisionResourceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DecisionResourceType. + */ + @JsonCreator + public static DecisionResourceType fromString(String name) { + return fromString(name, DecisionResourceType.class); + } + + /** + * Gets known DecisionResourceType values. + * + * @return known DecisionResourceType values. + */ + public static Collection values() { + return values(DecisionResourceType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java new file mode 100644 index 0000000000000..34bc610a89b70 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DecisionTargetType. */ +public final class DecisionTargetType extends ExpandableStringEnum { + /** Static value user for DecisionTargetType. */ + public static final DecisionTargetType USER = fromString("user"); + + /** Static value servicePrincipal for DecisionTargetType. */ + public static final DecisionTargetType SERVICE_PRINCIPAL = fromString("servicePrincipal"); + + /** + * Creates or finds a DecisionTargetType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DecisionTargetType. + */ + @JsonCreator + public static DecisionTargetType fromString(String name) { + return fromString(name, DecisionTargetType.class); + } + + /** + * Gets known DecisionTargetType values. + * + * @return known DecisionTargetType values. + */ + public static Collection values() { + return values(DecisionTargetType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java new file mode 100644 index 0000000000000..98f355e5547d9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for DefaultDecisionType. */ +public final class DefaultDecisionType extends ExpandableStringEnum { + /** Static value Approve for DefaultDecisionType. */ + public static final DefaultDecisionType APPROVE = fromString("Approve"); + + /** Static value Deny for DefaultDecisionType. */ + public static final DefaultDecisionType DENY = fromString("Deny"); + + /** Static value Recommendation for DefaultDecisionType. */ + public static final DefaultDecisionType RECOMMENDATION = fromString("Recommendation"); + + /** + * Creates or finds a DefaultDecisionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding DefaultDecisionType. + */ + @JsonCreator + public static DefaultDecisionType fromString(String name) { + return fromString(name, DefaultDecisionType.class); + } + + /** + * Gets known DefaultDecisionType values. + * + * @return known DefaultDecisionType values. + */ + public static Collection values() { + return values(DefaultDecisionType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignment.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignment.java new file mode 100644 index 0000000000000..1e0a683e028f8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignment.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; +import java.util.List; + +/** An immutable client-side representation of DenyAssignment. */ +public interface DenyAssignment { + /** + * Gets the id property: The deny assignment ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The deny assignment name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The deny assignment type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the denyAssignmentName property: The display name of the deny assignment. + * + * @return the denyAssignmentName value. + */ + String denyAssignmentName(); + + /** + * Gets the description property: The description of the deny assignment. + * + * @return the description value. + */ + String description(); + + /** + * Gets the permissions property: An array of permissions that are denied by the deny assignment. + * + * @return the permissions value. + */ + List permissions(); + + /** + * Gets the scope property: The deny assignment scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @return the doNotApplyToChildScopes value. + */ + Boolean doNotApplyToChildScopes(); + + /** + * Gets the principals property: Array of principals to which the deny assignment applies. + * + * @return the principals value. + */ + List principals(); + + /** + * Gets the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @return the excludePrincipals value. + */ + List excludePrincipals(); + + /** + * Gets the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @return the isSystemProtected value. + */ + Boolean isSystemProtected(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner object. + * + * @return the inner object. + */ + DenyAssignmentInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentListResult.java new file mode 100644 index 0000000000000..a3e663d3f5b75 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment list operation result. */ +@Fluent +public final class DenyAssignmentListResult { + /* + * Deny assignment list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Deny assignment list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Deny assignment list. + * + * @param value the value value to set. + * @return the DenyAssignmentListResult object itself. + */ + public DenyAssignmentListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the DenyAssignmentListResult object itself. + */ + public DenyAssignmentListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentPermission.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentPermission.java new file mode 100644 index 0000000000000..11f5a813ece8c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentPermission.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment permissions. */ +@Fluent +public final class DenyAssignmentPermission { + /* + * Actions to which the deny assignment does not grant access. + */ + @JsonProperty(value = "actions") + private List actions; + + /* + * Actions to exclude from that the deny assignment does not grant access. + */ + @JsonProperty(value = "notActions") + private List notActions; + + /* + * Data actions to which the deny assignment does not grant access. + */ + @JsonProperty(value = "dataActions") + private List dataActions; + + /* + * Data actions to exclude from that the deny assignment does not grant + * access. + */ + @JsonProperty(value = "notDataActions") + private List notDataActions; + + /** + * Get the actions property: Actions to which the deny assignment does not grant access. + * + * @return the actions value. + */ + public List actions() { + return this.actions; + } + + /** + * Set the actions property: Actions to which the deny assignment does not grant access. + * + * @param actions the actions value to set. + * @return the DenyAssignmentPermission object itself. + */ + public DenyAssignmentPermission withActions(List actions) { + this.actions = actions; + return this; + } + + /** + * Get the notActions property: Actions to exclude from that the deny assignment does not grant access. + * + * @return the notActions value. + */ + public List notActions() { + return this.notActions; + } + + /** + * Set the notActions property: Actions to exclude from that the deny assignment does not grant access. + * + * @param notActions the notActions value to set. + * @return the DenyAssignmentPermission object itself. + */ + public DenyAssignmentPermission withNotActions(List notActions) { + this.notActions = notActions; + return this; + } + + /** + * Get the dataActions property: Data actions to which the deny assignment does not grant access. + * + * @return the dataActions value. + */ + public List dataActions() { + return this.dataActions; + } + + /** + * Set the dataActions property: Data actions to which the deny assignment does not grant access. + * + * @param dataActions the dataActions value to set. + * @return the DenyAssignmentPermission object itself. + */ + public DenyAssignmentPermission withDataActions(List dataActions) { + this.dataActions = dataActions; + return this; + } + + /** + * Get the notDataActions property: Data actions to exclude from that the deny assignment does not grant access. + * + * @return the notDataActions value. + */ + public List notDataActions() { + return this.notDataActions; + } + + /** + * Set the notDataActions property: Data actions to exclude from that the deny assignment does not grant access. + * + * @param notDataActions the notDataActions value to set. + * @return the DenyAssignmentPermission object itself. + */ + public DenyAssignmentPermission withNotDataActions(List notDataActions) { + this.notDataActions = notDataActions; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignments.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignments.java new file mode 100644 index 0000000000000..d66070a3ee777 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignments.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.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of DenyAssignments. */ +public interface DenyAssignments { + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName, String filter, Context context); + + /** + * Gets all deny assignments for the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, Context context); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment. + */ + DenyAssignment get(String scope, String denyAssignmentId); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment along with {@link Response}. + */ + Response getWithResponse(String scope, String denyAssignmentId, Context context); + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID. + */ + DenyAssignment getById(String denyAssignmentId); + + /** + * Gets a deny assignment by ID. + * + * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription + * level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant + * level deny assignments. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deny assignment by ID along with {@link Response}. + */ + Response getByIdWithResponse(String denyAssignmentId, Context context); + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResource.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResource.java new file mode 100644 index 0000000000000..d834b72f61772 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResource.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; + +/** An immutable client-side representation of EligibleChildResource. */ +public interface EligibleChildResource { + /** + * Gets the id property: The resource scope Id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The resource name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The resource type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner object. + * + * @return the inner object. + */ + EligibleChildResourceInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResources.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResources.java new file mode 100644 index 0000000000000..a712b62faf86d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResources.java @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of EligibleChildResources. */ +public interface EligibleChildResources { + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + PagedIterable get(String scope); + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access as paginated response with {@link + * PagedIterable}. + */ + PagedIterable get(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResourcesListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResourcesListResult.java new file mode 100644 index 0000000000000..d0bfba50b70e8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResourcesListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Eligible child resources list operation result. */ +@Fluent +public final class EligibleChildResourcesListResult { + /* + * Eligible child resource list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Eligible child resource list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Eligible child resource list. + * + * @param value the value value to set. + * @return the EligibleChildResourcesListResult object itself. + */ + public EligibleChildResourcesListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the EligibleChildResourcesListResult object itself. + */ + public EligibleChildResourcesListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EnablementRules.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EnablementRules.java new file mode 100644 index 0000000000000..baa1380f81ab9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EnablementRules.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for EnablementRules. */ +public final class EnablementRules extends ExpandableStringEnum { + /** Static value MultiFactorAuthentication for EnablementRules. */ + public static final EnablementRules MULTI_FACTOR_AUTHENTICATION = fromString("MultiFactorAuthentication"); + + /** Static value Justification for EnablementRules. */ + public static final EnablementRules JUSTIFICATION = fromString("Justification"); + + /** Static value Ticketing for EnablementRules. */ + public static final EnablementRules TICKETING = fromString("Ticketing"); + + /** + * Creates or finds a EnablementRules from its string representation. + * + * @param name a name to look for. + * @return the corresponding EnablementRules. + */ + @JsonCreator + public static EnablementRules fromString(String name) { + return fromString(name, EnablementRules.class); + } + + /** + * Gets known EnablementRules values. + * + * @return known EnablementRules values. + */ + public static Collection values() { + return values(EnablementRules.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedProperties.java new file mode 100644 index 0000000000000..44afcb1478631 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedProperties.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The ExpandedProperties model. */ +@Fluent +public final class ExpandedProperties { + /* + * Details of the resource scope + */ + @JsonProperty(value = "scope") + private ExpandedPropertiesScope scope; + + /* + * Details of role definition + */ + @JsonProperty(value = "roleDefinition") + private ExpandedPropertiesRoleDefinition roleDefinition; + + /* + * Details of the principal + */ + @JsonProperty(value = "principal") + private ExpandedPropertiesPrincipal principal; + + /** + * Get the scope property: Details of the resource scope. + * + * @return the scope value. + */ + public ExpandedPropertiesScope scope() { + return this.scope; + } + + /** + * Set the scope property: Details of the resource scope. + * + * @param scope the scope value to set. + * @return the ExpandedProperties object itself. + */ + public ExpandedProperties withScope(ExpandedPropertiesScope scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinition property: Details of role definition. + * + * @return the roleDefinition value. + */ + public ExpandedPropertiesRoleDefinition roleDefinition() { + return this.roleDefinition; + } + + /** + * Set the roleDefinition property: Details of role definition. + * + * @param roleDefinition the roleDefinition value to set. + * @return the ExpandedProperties object itself. + */ + public ExpandedProperties withRoleDefinition(ExpandedPropertiesRoleDefinition roleDefinition) { + this.roleDefinition = roleDefinition; + return this; + } + + /** + * Get the principal property: Details of the principal. + * + * @return the principal value. + */ + public ExpandedPropertiesPrincipal principal() { + return this.principal; + } + + /** + * Set the principal property: Details of the principal. + * + * @param principal the principal value to set. + * @return the ExpandedProperties object itself. + */ + public ExpandedProperties withPrincipal(ExpandedPropertiesPrincipal principal) { + this.principal = principal; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (scope() != null) { + scope().validate(); + } + if (roleDefinition() != null) { + roleDefinition().validate(); + } + if (principal() != null) { + principal().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesPrincipal.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesPrincipal.java new file mode 100644 index 0000000000000..0d32368d114a0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesPrincipal.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the principal. */ +@Fluent +public final class ExpandedPropertiesPrincipal { + /* + * Id of the principal + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the principal + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Email id of the principal + */ + @JsonProperty(value = "email") + private String email; + + /* + * Type of the principal + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Id of the principal. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Id of the principal. + * + * @param id the id value to set. + * @return the ExpandedPropertiesPrincipal object itself. + */ + public ExpandedPropertiesPrincipal withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the principal. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the principal. + * + * @param displayName the displayName value to set. + * @return the ExpandedPropertiesPrincipal object itself. + */ + public ExpandedPropertiesPrincipal withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the email property: Email id of the principal. + * + * @return the email value. + */ + public String email() { + return this.email; + } + + /** + * Set the email property: Email id of the principal. + * + * @param email the email value to set. + * @return the ExpandedPropertiesPrincipal object itself. + */ + public ExpandedPropertiesPrincipal withEmail(String email) { + this.email = email; + return this; + } + + /** + * Get the type property: Type of the principal. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the principal. + * + * @param type the type value to set. + * @return the ExpandedPropertiesPrincipal object itself. + */ + public ExpandedPropertiesPrincipal withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesRoleDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesRoleDefinition.java new file mode 100644 index 0000000000000..60657dd5eabb9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesRoleDefinition.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of role definition. */ +@Fluent +public final class ExpandedPropertiesRoleDefinition { + /* + * Id of the role definition + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the role definition + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of the role definition + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Id of the role definition. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Id of the role definition. + * + * @param id the id value to set. + * @return the ExpandedPropertiesRoleDefinition object itself. + */ + public ExpandedPropertiesRoleDefinition withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the role definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the role definition. + * + * @param displayName the displayName value to set. + * @return the ExpandedPropertiesRoleDefinition object itself. + */ + public ExpandedPropertiesRoleDefinition withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of the role definition. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the role definition. + * + * @param type the type value to set. + * @return the ExpandedPropertiesRoleDefinition object itself. + */ + public ExpandedPropertiesRoleDefinition withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesScope.java new file mode 100644 index 0000000000000..b4958de1c2ac2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesScope.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class ExpandedPropertiesScope { + /* + * Scope id of the resource + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the resource + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of the resource + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Scope id of the resource. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Scope id of the resource. + * + * @param id the id value to set. + * @return the ExpandedPropertiesScope object itself. + */ + public ExpandedPropertiesScope withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the resource. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the resource. + * + * @param displayName the displayName value to set. + * @return the ExpandedPropertiesScope object itself. + */ + public ExpandedPropertiesScope withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of the resource. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the resource. + * + * @param type the type value to set. + * @return the ExpandedPropertiesScope object itself. + */ + public ExpandedPropertiesScope withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/MemberType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/MemberType.java new file mode 100644 index 0000000000000..580d8f4ce3914 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/MemberType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for MemberType. */ +public final class MemberType extends ExpandableStringEnum { + /** Static value Inherited for MemberType. */ + public static final MemberType INHERITED = fromString("Inherited"); + + /** Static value Direct for MemberType. */ + public static final MemberType DIRECT = fromString("Direct"); + + /** Static value Group for MemberType. */ + public static final MemberType GROUP = fromString("Group"); + + /** + * Creates or finds a MemberType from its string representation. + * + * @param name a name to look for. + * @return the corresponding MemberType. + */ + @JsonCreator + public static MemberType fromString(String name) { + return fromString(name, MemberType.class); + } + + /** + * Gets known MemberType values. + * + * @return known MemberType values. + */ + public static Collection values() { + return values(MemberType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationDeliveryMechanism.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationDeliveryMechanism.java new file mode 100644 index 0000000000000..e0d449274b709 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationDeliveryMechanism.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for NotificationDeliveryMechanism. */ +public final class NotificationDeliveryMechanism extends ExpandableStringEnum { + /** Static value Email for NotificationDeliveryMechanism. */ + public static final NotificationDeliveryMechanism EMAIL = fromString("Email"); + + /** + * Creates or finds a NotificationDeliveryMechanism from its string representation. + * + * @param name a name to look for. + * @return the corresponding NotificationDeliveryMechanism. + */ + @JsonCreator + public static NotificationDeliveryMechanism fromString(String name) { + return fromString(name, NotificationDeliveryMechanism.class); + } + + /** + * Gets known NotificationDeliveryMechanism values. + * + * @return known NotificationDeliveryMechanism values. + */ + public static Collection values() { + return values(NotificationDeliveryMechanism.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationLevel.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationLevel.java new file mode 100644 index 0000000000000..90f9adf4571a7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationLevel.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for NotificationLevel. */ +public final class NotificationLevel extends ExpandableStringEnum { + /** Static value None for NotificationLevel. */ + public static final NotificationLevel NONE = fromString("None"); + + /** Static value Critical for NotificationLevel. */ + public static final NotificationLevel CRITICAL = fromString("Critical"); + + /** Static value All for NotificationLevel. */ + public static final NotificationLevel ALL = fromString("All"); + + /** + * Creates or finds a NotificationLevel from its string representation. + * + * @param name a name to look for. + * @return the corresponding NotificationLevel. + */ + @JsonCreator + public static NotificationLevel fromString(String name) { + return fromString(name, NotificationLevel.class); + } + + /** + * Gets known NotificationLevel values. + * + * @return known NotificationLevel values. + */ + public static Collection values() { + return values(NotificationLevel.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java new file mode 100644 index 0000000000000..a5eaf0409aa1c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operation.java @@ -0,0 +1,45 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; + +/** An immutable client-side representation of Operation. */ +public interface Operation { + /** + * Gets the name property: Name of the operation. + * + * @return the name value. + */ + String name(); + + /** + * Gets the isDataAction property: Indicates whether the operation is a data action. + * + * @return the isDataAction value. + */ + Boolean isDataAction(); + + /** + * Gets the display property: Display of the operation. + * + * @return the display value. + */ + OperationDisplay display(); + + /** + * Gets the origin property: Origin of the operation. + * + * @return the origin value. + */ + String origin(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner object. + * + * @return the inner object. + */ + OperationInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java new file mode 100644 index 0000000000000..bed462d593c28 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The display information for a Microsoft.Authorization operation. */ +@Immutable +public final class OperationDisplay { + /* + * The resource provider name: Microsoft.Authorization. + */ + @JsonProperty(value = "provider", access = JsonProperty.Access.WRITE_ONLY) + private String provider; + + /* + * The resource on which the operation is performed. + */ + @JsonProperty(value = "resource", access = JsonProperty.Access.WRITE_ONLY) + private String resource; + + /* + * The operation that users can perform. + */ + @JsonProperty(value = "operation", access = JsonProperty.Access.WRITE_ONLY) + private String operation; + + /* + * The description for the operation. + */ + @JsonProperty(value = "description", access = JsonProperty.Access.WRITE_ONLY) + private String description; + + /** + * Get the provider property: The resource provider name: Microsoft.Authorization. + * + * @return the provider value. + */ + public String provider() { + return this.provider; + } + + /** + * Get the resource property: The resource on which the operation is performed. + * + * @return the resource value. + */ + public String resource() { + return this.resource; + } + + /** + * Get the operation property: The operation that users can perform. + * + * @return the operation value. + */ + public String operation() { + return this.operation; + } + + /** + * Get the description property: The description for the operation. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java new file mode 100644 index 0000000000000..fa806cd6c54a5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The result of a request to list Microsoft.Authorization operations. */ +@Fluent +public final class OperationListResult { + /* + * The collection value. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URI that can be used to request the next set of paged results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: The collection value. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: The collection value. + * + * @param value the value value to set. + * @return the OperationListResult object itself. + */ + public OperationListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URI that can be used to request the next set of paged results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URI that can be used to request the next set of paged results. + * + * @param nextLink the nextLink value to set. + * @return the OperationListResult object itself. + */ + public OperationListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java new file mode 100644 index 0000000000000..bdcff7eab6988 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.java @@ -0,0 +1,33 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of Operations. */ +public interface Operations { + /** + * Lists the operations available from this provider. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(); + + /** + * Lists the operations available from this provider. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permission.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permission.java new file mode 100644 index 0000000000000..00f42a5a2fbee --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permission.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import java.util.List; + +/** An immutable client-side representation of Permission. */ +public interface Permission { + /** + * Gets the actions property: Allowed actions. + * + * @return the actions value. + */ + List actions(); + + /** + * Gets the notActions property: Denied actions. + * + * @return the notActions value. + */ + List notActions(); + + /** + * Gets the dataActions property: Allowed Data actions. + * + * @return the dataActions value. + */ + List dataActions(); + + /** + * Gets the notDataActions property: Denied Data actions. + * + * @return the notDataActions value. + */ + List notDataActions(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner object. + * + * @return the inner object. + */ + PermissionInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PermissionGetResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PermissionGetResult.java new file mode 100644 index 0000000000000..5440319b159fe --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PermissionGetResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Permissions information. */ +@Fluent +public final class PermissionGetResult { + /* + * An array of permissions. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: An array of permissions. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: An array of permissions. + * + * @param value the value value to set. + * @return the PermissionGetResult object itself. + */ + public PermissionGetResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the PermissionGetResult object itself. + */ + public PermissionGetResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permissions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permissions.java new file mode 100644 index 0000000000000..77e7919dd4785 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Permissions.java @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of Permissions. */ +public interface Permissions { + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName, Context context); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentProperties.java new file mode 100644 index 0000000000000..d6206cb7fee1a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentProperties.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The PolicyAssignmentProperties model. */ +@Fluent +public final class PolicyAssignmentProperties { + /* + * Details of the resource scope + */ + @JsonProperty(value = "scope") + private PolicyAssignmentPropertiesScope scope; + + /* + * Details of role definition + */ + @JsonProperty(value = "roleDefinition") + private PolicyAssignmentPropertiesRoleDefinition roleDefinition; + + /* + * Details of the policy + */ + @JsonProperty(value = "policy") + private PolicyAssignmentPropertiesPolicy policy; + + /** + * Get the scope property: Details of the resource scope. + * + * @return the scope value. + */ + public PolicyAssignmentPropertiesScope scope() { + return this.scope; + } + + /** + * Set the scope property: Details of the resource scope. + * + * @param scope the scope value to set. + * @return the PolicyAssignmentProperties object itself. + */ + public PolicyAssignmentProperties withScope(PolicyAssignmentPropertiesScope scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinition property: Details of role definition. + * + * @return the roleDefinition value. + */ + public PolicyAssignmentPropertiesRoleDefinition roleDefinition() { + return this.roleDefinition; + } + + /** + * Set the roleDefinition property: Details of role definition. + * + * @param roleDefinition the roleDefinition value to set. + * @return the PolicyAssignmentProperties object itself. + */ + public PolicyAssignmentProperties withRoleDefinition(PolicyAssignmentPropertiesRoleDefinition roleDefinition) { + this.roleDefinition = roleDefinition; + return this; + } + + /** + * Get the policy property: Details of the policy. + * + * @return the policy value. + */ + public PolicyAssignmentPropertiesPolicy policy() { + return this.policy; + } + + /** + * Set the policy property: Details of the policy. + * + * @param policy the policy value to set. + * @return the PolicyAssignmentProperties object itself. + */ + public PolicyAssignmentProperties withPolicy(PolicyAssignmentPropertiesPolicy policy) { + this.policy = policy; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (scope() != null) { + scope().validate(); + } + if (roleDefinition() != null) { + roleDefinition().validate(); + } + if (policy() != null) { + policy().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesPolicy.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesPolicy.java new file mode 100644 index 0000000000000..83acb211be7f7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesPolicy.java @@ -0,0 +1,91 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Details of the policy. */ +@Fluent +public final class PolicyAssignmentPropertiesPolicy { + /* + * Id of the policy + */ + @JsonProperty(value = "id") + private String id; + + /* + * The name of the entity last modified it + */ + @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY) + private Principal lastModifiedBy; + + /* + * The last modified date time. + */ + @JsonProperty(value = "lastModifiedDateTime") + private OffsetDateTime lastModifiedDateTime; + + /** + * Get the id property: Id of the policy. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Id of the policy. + * + * @param id the id value to set. + * @return the PolicyAssignmentPropertiesPolicy object itself. + */ + public PolicyAssignmentPropertiesPolicy withId(String id) { + this.id = id; + return this; + } + + /** + * Get the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + public Principal lastModifiedBy() { + return this.lastModifiedBy; + } + + /** + * Get the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.lastModifiedDateTime; + } + + /** + * Set the lastModifiedDateTime property: The last modified date time. + * + * @param lastModifiedDateTime the lastModifiedDateTime value to set. + * @return the PolicyAssignmentPropertiesPolicy object itself. + */ + public PolicyAssignmentPropertiesPolicy withLastModifiedDateTime(OffsetDateTime lastModifiedDateTime) { + this.lastModifiedDateTime = lastModifiedDateTime; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (lastModifiedBy() != null) { + lastModifiedBy().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesRoleDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesRoleDefinition.java new file mode 100644 index 0000000000000..26ef0a9e7c46a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesRoleDefinition.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of role definition. */ +@Fluent +public final class PolicyAssignmentPropertiesRoleDefinition { + /* + * Id of the role definition + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the role definition + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of the role definition + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Id of the role definition. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Id of the role definition. + * + * @param id the id value to set. + * @return the PolicyAssignmentPropertiesRoleDefinition object itself. + */ + public PolicyAssignmentPropertiesRoleDefinition withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the role definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the role definition. + * + * @param displayName the displayName value to set. + * @return the PolicyAssignmentPropertiesRoleDefinition object itself. + */ + public PolicyAssignmentPropertiesRoleDefinition withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of the role definition. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the role definition. + * + * @param type the type value to set. + * @return the PolicyAssignmentPropertiesRoleDefinition object itself. + */ + public PolicyAssignmentPropertiesRoleDefinition withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesScope.java new file mode 100644 index 0000000000000..d5d762b716f54 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesScope.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class PolicyAssignmentPropertiesScope { + /* + * Scope id of the resource + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the resource + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of the resource + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Scope id of the resource. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Scope id of the resource. + * + * @param id the id value to set. + * @return the PolicyAssignmentPropertiesScope object itself. + */ + public PolicyAssignmentPropertiesScope withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the resource. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the resource. + * + * @param displayName the displayName value to set. + * @return the PolicyAssignmentPropertiesScope object itself. + */ + public PolicyAssignmentPropertiesScope withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of the resource. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the resource. + * + * @param type the type value to set. + * @return the PolicyAssignmentPropertiesScope object itself. + */ + public PolicyAssignmentPropertiesScope withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyProperties.java new file mode 100644 index 0000000000000..9004ce68a017b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyProperties.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The PolicyProperties model. */ +@Immutable +public final class PolicyProperties { + /* + * Details of the resource scope + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private PolicyPropertiesScope scope; + + /** + * Get the scope property: Details of the resource scope. + * + * @return the scope value. + */ + public PolicyPropertiesScope scope() { + return this.scope; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (scope() != null) { + scope().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyPropertiesScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyPropertiesScope.java new file mode 100644 index 0000000000000..533fdec70831d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyPropertiesScope.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class PolicyPropertiesScope { + /* + * Scope id of the resource + */ + @JsonProperty(value = "id") + private String id; + + /* + * Display name of the resource + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of the resource + */ + @JsonProperty(value = "type") + private String type; + + /** + * Get the id property: Scope id of the resource. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: Scope id of the resource. + * + * @param id the id value to set. + * @return the PolicyPropertiesScope object itself. + */ + public PolicyPropertiesScope withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: Display name of the resource. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: Display name of the resource. + * + * @param displayName the displayName value to set. + * @return the PolicyPropertiesScope object itself. + */ + public PolicyPropertiesScope withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of the resource. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of the resource. + * + * @param type the type value to set. + * @return the PolicyPropertiesScope object itself. + */ + public PolicyPropertiesScope withType(String type) { + this.type = type; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Principal.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Principal.java new file mode 100644 index 0000000000000..bb96d78921be1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Principal.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The name of the entity last modified it. */ +@Fluent +public final class Principal { + /* + * The id of the principal made changes + */ + @JsonProperty(value = "id") + private String id; + + /* + * The name of the principal made changes + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * Type of principal such as user , group etc + */ + @JsonProperty(value = "type") + private String type; + + /* + * Email of principal + */ + @JsonProperty(value = "email") + private String email; + + /** + * Get the id property: The id of the principal made changes. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: The id of the principal made changes. + * + * @param id the id value to set. + * @return the Principal object itself. + */ + public Principal withId(String id) { + this.id = id; + return this; + } + + /** + * Get the displayName property: The name of the principal made changes. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The name of the principal made changes. + * + * @param displayName the displayName value to set. + * @return the Principal object itself. + */ + public Principal withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the type property: Type of principal such as user , group etc. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: Type of principal such as user , group etc. + * + * @param type the type value to set. + * @return the Principal object itself. + */ + public Principal withType(String type) { + this.type = type; + return this; + } + + /** + * Get the email property: Email of principal. + * + * @return the email value. + */ + public String email() { + return this.email; + } + + /** + * Set the email property: Email of principal. + * + * @param email the email value to set. + * @return the Principal object itself. + */ + public Principal withEmail(String email) { + this.email = email; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PrincipalType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PrincipalType.java new file mode 100644 index 0000000000000..bb3dd6c7c3ca5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PrincipalType.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for PrincipalType. */ +public final class PrincipalType extends ExpandableStringEnum { + /** Static value User for PrincipalType. */ + public static final PrincipalType USER = fromString("User"); + + /** Static value Group for PrincipalType. */ + public static final PrincipalType GROUP = fromString("Group"); + + /** Static value ServicePrincipal for PrincipalType. */ + public static final PrincipalType SERVICE_PRINCIPAL = fromString("ServicePrincipal"); + + /** Static value ForeignGroup for PrincipalType. */ + public static final PrincipalType FOREIGN_GROUP = fromString("ForeignGroup"); + + /** Static value Device for PrincipalType. */ + public static final PrincipalType DEVICE = fromString("Device"); + + /** + * Creates or finds a PrincipalType from its string representation. + * + * @param name a name to look for. + * @return the corresponding PrincipalType. + */ + @JsonCreator + public static PrincipalType fromString(String name) { + return fromString(name, PrincipalType.class); + } + + /** + * Gets known PrincipalType values. + * + * @return known PrincipalType values. + */ + public static Collection values() { + return values(PrincipalType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperation.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperation.java new file mode 100644 index 0000000000000..f7c4b82f908a2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperation.java @@ -0,0 +1,176 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Operation. */ +@Fluent +public final class ProviderOperation { + /* + * The operation name. + */ + @JsonProperty(value = "name") + private String name; + + /* + * The operation display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The operation description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * The operation origin. + */ + @JsonProperty(value = "origin") + private String origin; + + /* + * The operation properties. + */ + @JsonProperty(value = "properties") + private Object properties; + + /* + * The dataAction flag to specify the operation type. + */ + @JsonProperty(value = "isDataAction") + private Boolean isDataAction; + + /** + * Get the name property: The operation name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: The operation name. + * + * @param name the name value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withName(String name) { + this.name = name; + return this; + } + + /** + * Get the displayName property: The operation display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The operation display name. + * + * @param displayName the displayName value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the description property: The operation description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The operation description. + * + * @param description the description value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the origin property: The operation origin. + * + * @return the origin value. + */ + public String origin() { + return this.origin; + } + + /** + * Set the origin property: The operation origin. + * + * @param origin the origin value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withOrigin(String origin) { + this.origin = origin; + return this; + } + + /** + * Get the properties property: The operation properties. + * + * @return the properties value. + */ + public Object properties() { + return this.properties; + } + + /** + * Set the properties property: The operation properties. + * + * @param properties the properties value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withProperties(Object properties) { + this.properties = properties; + return this; + } + + /** + * Get the isDataAction property: The dataAction flag to specify the operation type. + * + * @return the isDataAction value. + */ + public Boolean isDataAction() { + return this.isDataAction; + } + + /** + * Set the isDataAction property: The dataAction flag to specify the operation type. + * + * @param isDataAction the isDataAction value to set. + * @return the ProviderOperation object itself. + */ + public ProviderOperation withIsDataAction(Boolean isDataAction) { + this.isDataAction = isDataAction; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadata.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadata.java new file mode 100644 index 0000000000000..5807ed9d76f9d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadata.java @@ -0,0 +1,61 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import java.util.List; + +/** An immutable client-side representation of ProviderOperationsMetadata. */ +public interface ProviderOperationsMetadata { + /** + * Gets the id property: The provider id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The provider name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The provider type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the displayName property: The provider display name. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the resourceTypes property: The provider resource types. + * + * @return the resourceTypes value. + */ + List resourceTypes(); + + /** + * Gets the operations property: The provider operations. + * + * @return the operations value. + */ + List operations(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner + * object. + * + * @return the inner object. + */ + ProviderOperationsMetadataInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadataListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadataListResult.java new file mode 100644 index 0000000000000..1cbe1ffbf51f4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadataListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Provider operations metadata list. */ +@Fluent +public final class ProviderOperationsMetadataListResult { + /* + * The list of providers. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: The list of providers. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: The list of providers. + * + * @param value the value value to set. + * @return the ProviderOperationsMetadataListResult object itself. + */ + public ProviderOperationsMetadataListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the ProviderOperationsMetadataListResult object itself. + */ + public ProviderOperationsMetadataListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadatas.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadatas.java new file mode 100644 index 0000000000000..a2377d3c406e3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadatas.java @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of ProviderOperationsMetadatas. */ +public interface ProviderOperationsMetadatas { + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider. + */ + ProviderOperationsMetadata get(String resourceProviderNamespace); + + /** + * Gets provider operations metadata for the specified resource provider. + * + * @param resourceProviderNamespace The namespace of the resource provider. + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for the specified resource provider along with {@link Response}. + */ + Response getWithResponse( + String resourceProviderNamespace, String expand, Context context); + + /** + * Gets provider operations metadata for all resource providers. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String expand, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecipientType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecipientType.java new file mode 100644 index 0000000000000..6ba7d86b140ca --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecipientType.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RecipientType. */ +public final class RecipientType extends ExpandableStringEnum { + /** Static value Requestor for RecipientType. */ + public static final RecipientType REQUESTOR = fromString("Requestor"); + + /** Static value Approver for RecipientType. */ + public static final RecipientType APPROVER = fromString("Approver"); + + /** Static value Admin for RecipientType. */ + public static final RecipientType ADMIN = fromString("Admin"); + + /** + * Creates or finds a RecipientType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RecipientType. + */ + @JsonCreator + public static RecipientType fromString(String name) { + return fromString(name, RecipientType.class); + } + + /** + * Gets known RecipientType values. + * + * @return known RecipientType values. + */ + public static Collection values() { + return values(RecipientType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RequestType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RequestType.java new file mode 100644 index 0000000000000..e8ab45b368827 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RequestType.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RequestType. */ +public final class RequestType extends ExpandableStringEnum { + /** Static value AdminAssign for RequestType. */ + public static final RequestType ADMIN_ASSIGN = fromString("AdminAssign"); + + /** Static value AdminRemove for RequestType. */ + public static final RequestType ADMIN_REMOVE = fromString("AdminRemove"); + + /** Static value AdminUpdate for RequestType. */ + public static final RequestType ADMIN_UPDATE = fromString("AdminUpdate"); + + /** Static value AdminExtend for RequestType. */ + public static final RequestType ADMIN_EXTEND = fromString("AdminExtend"); + + /** Static value AdminRenew for RequestType. */ + public static final RequestType ADMIN_RENEW = fromString("AdminRenew"); + + /** Static value SelfActivate for RequestType. */ + public static final RequestType SELF_ACTIVATE = fromString("SelfActivate"); + + /** Static value SelfDeactivate for RequestType. */ + public static final RequestType SELF_DEACTIVATE = fromString("SelfDeactivate"); + + /** Static value SelfExtend for RequestType. */ + public static final RequestType SELF_EXTEND = fromString("SelfExtend"); + + /** Static value SelfRenew for RequestType. */ + public static final RequestType SELF_RENEW = fromString("SelfRenew"); + + /** + * Creates or finds a RequestType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RequestType. + */ + @JsonCreator + public static RequestType fromString(String name) { + return fromString(name, RequestType.class); + } + + /** + * Gets known RequestType values. + * + * @return known RequestType values. + */ + public static Collection values() { + return values(RequestType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ResourceType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ResourceType.java new file mode 100644 index 0000000000000..4d5d6dff44c0c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ResourceType.java @@ -0,0 +1,102 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Resource Type. */ +@Fluent +public final class ResourceType { + /* + * The resource type name. + */ + @JsonProperty(value = "name") + private String name; + + /* + * The resource type display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The resource type operations. + */ + @JsonProperty(value = "operations") + private List operations; + + /** + * Get the name property: The resource type name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: The resource type name. + * + * @param name the name value to set. + * @return the ResourceType object itself. + */ + public ResourceType withName(String name) { + this.name = name; + return this; + } + + /** + * Get the displayName property: The resource type display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The resource type display name. + * + * @param displayName the displayName value to set. + * @return the ResourceType object itself. + */ + public ResourceType withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the operations property: The resource type operations. + * + * @return the operations value. + */ + public List operations() { + return this.operations; + } + + /** + * Set the operations property: The resource type operations. + * + * @param operations the operations value to set. + * @return the ResourceType object itself. + */ + public ResourceType withOperations(List operations) { + this.operations = operations; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (operations() != null) { + operations().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignment.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignment.java new file mode 100644 index 0000000000000..9fdd0cff2b810 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignment.java @@ -0,0 +1,291 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleAssignment. */ +public interface RoleAssignment { + /** + * Gets the id property: Fully qualified resource Id for the resource. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The name of the resource. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The type of the resource. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role assignment scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the description property: Description of role assignment. + * + * @return the description value. + */ + String description(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + OffsetDateTime updatedOn(); + + /** + * Gets the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + String createdBy(); + + /** + * Gets the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + String updatedBy(); + + /** + * Gets the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + String delegatedManagedIdentityResourceId(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner object. + * + * @return the inner object. + */ + RoleAssignmentInner innerModel(); + + /** The entirety of the RoleAssignment definition. */ + interface Definition + extends DefinitionStages.Blank, + DefinitionStages.WithScope, + DefinitionStages.WithRoleDefinitionId, + DefinitionStages.WithPrincipalId, + DefinitionStages.WithCreate { + } + /** The RoleAssignment definition stages. */ + interface DefinitionStages { + /** The first stage of the RoleAssignment definition. */ + interface Blank extends WithScope { + } + /** The stage of the RoleAssignment definition allowing to specify parent resource. */ + interface WithScope { + /** + * Specifies scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @return the next definition stage. + */ + WithRoleDefinitionId withExistingScope(String scope); + } + /** The stage of the RoleAssignment definition allowing to specify roleDefinitionId. */ + interface WithRoleDefinitionId { + /** + * Specifies the roleDefinitionId property: The role definition ID.. + * + * @param roleDefinitionId The role definition ID. + * @return the next definition stage. + */ + WithPrincipalId withRoleDefinitionId(String roleDefinitionId); + } + /** The stage of the RoleAssignment definition allowing to specify principalId. */ + interface WithPrincipalId { + /** + * Specifies the principalId property: The principal ID.. + * + * @param principalId The principal ID. + * @return the next definition stage. + */ + WithCreate withPrincipalId(String principalId); + } + /** + * The stage of the RoleAssignment definition which contains all the minimum required properties for the + * resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithPrincipalType, + DefinitionStages.WithDescription, + DefinitionStages.WithCondition, + DefinitionStages.WithConditionVersion, + DefinitionStages.WithDelegatedManagedIdentityResourceId { + /** + * Executes the create request. + * + * @return the created resource. + */ + RoleAssignment create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + RoleAssignment create(Context context); + } + /** The stage of the RoleAssignment definition allowing to specify principalType. */ + interface WithPrincipalType { + /** + * Specifies the principalType property: The principal type of the assigned principal ID.. + * + * @param principalType The principal type of the assigned principal ID. + * @return the next definition stage. + */ + WithCreate withPrincipalType(PrincipalType principalType); + } + /** The stage of the RoleAssignment definition allowing to specify description. */ + interface WithDescription { + /** + * Specifies the description property: Description of role assignment. + * + * @param description Description of role assignment. + * @return the next definition stage. + */ + WithCreate withDescription(String description); + } + /** The stage of the RoleAssignment definition allowing to specify condition. */ + interface WithCondition { + /** + * Specifies the condition property: The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition The conditions on the role assignment. This limits the resources it can be assigned to. + * e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * @return the next definition stage. + */ + WithCreate withCondition(String condition); + } + /** The stage of the RoleAssignment definition allowing to specify conditionVersion. */ + interface WithConditionVersion { + /** + * Specifies the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion Version of the condition. Currently accepted value is '2.0'. + * @return the next definition stage. + */ + WithCreate withConditionVersion(String conditionVersion); + } + /** The stage of the RoleAssignment definition allowing to specify delegatedManagedIdentityResourceId. */ + interface WithDelegatedManagedIdentityResourceId { + /** + * Specifies the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId Id of the delegated managed identity resource. + * @return the next definition stage. + */ + WithCreate withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + RoleAssignment refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + RoleAssignment refresh(Context context); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + ValidationResponse validate(RoleAssignmentCreateParameters parameters); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + Response validateWithResponse(RoleAssignmentCreateParameters parameters, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentCreateParameters.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentCreateParameters.java new file mode 100644 index 0000000000000..a9f5efda00b34 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentCreateParameters.java @@ -0,0 +1,259 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment create parameters. */ +@Fluent +public final class RoleAssignmentCreateParameters { + /* + * Role assignment properties. + */ + @JsonProperty(value = "properties", required = true) + private RoleAssignmentProperties innerProperties = new RoleAssignmentProperties(); + + /** + * Get the innerProperties property: Role assignment properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the description property: Description of role assignment. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: Description of role assignment. + * + * @param description the description value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Get the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + public String createdBy() { + return this.innerProperties() == null ? null : this.innerProperties().createdBy(); + } + + /** + * Get the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + public String updatedBy() { + return this.innerProperties() == null ? null : this.innerProperties().updatedBy(); + } + + /** + * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + public String delegatedManagedIdentityResourceId() { + return this.innerProperties() == null ? null : this.innerProperties().delegatedManagedIdentityResourceId(); + } + + /** + * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set. + * @return the RoleAssignmentCreateParameters object itself. + */ + public RoleAssignmentCreateParameters withDelegatedManagedIdentityResourceId( + String delegatedManagedIdentityResourceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDelegatedManagedIdentityResourceId(delegatedManagedIdentityResourceId); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() == null) { + throw LOGGER + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property innerProperties in model RoleAssignmentCreateParameters")); + } else { + innerProperties().validate(); + } + } + + private static final ClientLogger LOGGER = new ClientLogger(RoleAssignmentCreateParameters.class); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentListResult.java new file mode 100644 index 0000000000000..59ba7892c32c4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentListResult.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment list operation result. */ +@Fluent +public final class RoleAssignmentListResult { + /* + * Role assignment list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink", access = JsonProperty.Access.WRITE_ONLY) + private String nextLink; + + /** + * Get the value property: Role assignment list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role assignment list. + * + * @param value the value value to set. + * @return the RoleAssignmentListResult object itself. + */ + public RoleAssignmentListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetrics.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetrics.java new file mode 100644 index 0000000000000..1ea3fa04ff982 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetrics.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleAssignmentMetrics. */ +public interface RoleAssignmentMetrics { + /** + * Get role assignment usage metrics for a subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription. + */ + RoleAssignmentMetricsResult getMetricsForSubscription(); + + /** + * Get role assignment usage metrics for a subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment usage metrics for a subscription along with {@link Response}. + */ + Response getMetricsForSubscriptionWithResponse(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetricsResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetricsResult.java new file mode 100644 index 0000000000000..5265f2787b78d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentMetricsResult.java @@ -0,0 +1,46 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner; + +/** An immutable client-side representation of RoleAssignmentMetricsResult. */ +public interface RoleAssignmentMetricsResult { + /** + * Gets the subscriptionId property: The subscription ID. + * + * @return the subscriptionId value. + */ + String subscriptionId(); + + /** + * Gets the roleAssignmentsLimit property: The role assignment limit. + * + * @return the roleAssignmentsLimit value. + */ + Long roleAssignmentsLimit(); + + /** + * Gets the roleAssignmentsCurrentCount property: The number of current role assignments. + * + * @return the roleAssignmentsCurrentCount value. + */ + Long roleAssignmentsCurrentCount(); + + /** + * Gets the roleAssignmentsRemainingCount property: The number of remaining role assignments available. + * + * @return the roleAssignmentsRemainingCount value. + */ + Long roleAssignmentsRemainingCount(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentMetricsResultInner + * object. + * + * @return the inner object. + */ + RoleAssignmentMetricsResultInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedule.java new file mode 100644 index 0000000000000..f87d84e1d7c95 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedule.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.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleAssignmentSchedule. */ +public interface RoleAssignmentSchedule { + /** + * Gets the id property: The role assignment schedule Id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role assignment schedule name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role assignment schedule type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleAssignmentScheduleRequestId value. + */ + String roleAssignmentScheduleRequestId(); + + /** + * Gets the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + String linkedRoleEligibilityScheduleId(); + + /** + * Gets the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + AssignmentType assignmentType(); + + /** + * Gets the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + MemberType memberType(); + + /** + * Gets the status property: The status of the role assignment schedule. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the startDateTime property: Start DateTime when role assignment schedule. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: End DateTime when role assignment schedule. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the updatedOn property: DateTime when role assignment schedule was modified. + * + * @return the updatedOn value. + */ + OffsetDateTime updatedOn(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner + * object. + * + * @return the inner object. + */ + RoleAssignmentScheduleInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstance.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstance.java new file mode 100644 index 0000000000000..9206ea08e79dd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstance.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleAssignmentScheduleInstance. */ +public interface RoleAssignmentScheduleInstance { + /** + * Gets the id property: The role assignment schedule instance ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role assignment schedule instance name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role assignment schedule instance type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @return the roleAssignmentScheduleId value. + */ + String roleAssignmentScheduleId(); + + /** + * Gets the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @return the originRoleAssignmentId value. + */ + String originRoleAssignmentId(); + + /** + * Gets the status property: The status of the role assignment schedule instance. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + String linkedRoleEligibilityScheduleId(); + + /** + * Gets the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @return the linkedRoleEligibilityScheduleInstanceId value. + */ + String linkedRoleEligibilityScheduleInstanceId(); + + /** + * Gets the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + AssignmentType assignmentType(); + + /** + * Gets the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + MemberType memberType(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner object. + * + * @return the inner object. + */ + RoleAssignmentScheduleInstanceInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstanceListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstanceListResult.java new file mode 100644 index 0000000000000..bc6160cec3e6f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstanceListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule instance list operation result. */ +@Fluent +public final class RoleAssignmentScheduleInstanceListResult { + /* + * Role assignment schedule instance list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role assignment schedule instance list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role assignment schedule instance list. + * + * @param value the value value to set. + * @return the RoleAssignmentScheduleInstanceListResult object itself. + */ + public RoleAssignmentScheduleInstanceListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleAssignmentScheduleInstanceListResult object itself. + */ + public RoleAssignmentScheduleInstanceListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstances.java new file mode 100644 index 0000000000000..7083982e8d296 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstances.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleAssignmentScheduleInstances. */ +public interface RoleAssignmentScheduleInstances { + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance. + */ + RoleAssignmentScheduleInstance get(String scope, String roleAssignmentScheduleInstanceName); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleAssignmentScheduleInstanceName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleListResult.java new file mode 100644 index 0000000000000..4fd861d67020e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule list operation result. */ +@Fluent +public final class RoleAssignmentScheduleListResult { + /* + * Role assignment schedule list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role assignment schedule list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role assignment schedule list. + * + * @param value the value value to set. + * @return the RoleAssignmentScheduleListResult object itself. + */ + public RoleAssignmentScheduleListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleAssignmentScheduleListResult object itself. + */ + public RoleAssignmentScheduleListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequest.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequest.java new file mode 100644 index 0000000000000..76d2abd0bd1ab --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequest.java @@ -0,0 +1,391 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleAssignmentScheduleRequest. */ +public interface RoleAssignmentScheduleRequest { + /** + * Gets the id property: The role assignment schedule request ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role assignment schedule request name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role assignment schedule request type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role assignment schedule request scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + RequestType requestType(); + + /** + * Gets the status property: The status of the role assignment schedule request. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the approvalId property: The approvalId of the role assignment schedule request. + * + * @return the approvalId value. + */ + String approvalId(); + + /** + * Gets the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role + * assignment schedule id being updated. + * + * @return the targetRoleAssignmentScheduleId value. + */ + String targetRoleAssignmentScheduleId(); + + /** + * Gets the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @return the targetRoleAssignmentScheduleInstanceId value. + */ + String targetRoleAssignmentScheduleInstanceId(); + + /** + * Gets the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @return the scheduleInfo value. + */ + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo(); + + /** + * Gets the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + String linkedRoleEligibilityScheduleId(); + + /** + * Gets the justification property: Justification for the role assignment. + * + * @return the justification value. + */ + String justification(); + + /** + * Gets the ticketInfo property: Ticket Info of the role assignment. + * + * @return the ticketInfo value. + */ + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role assignment schedule request was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + String requestorId(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner + * object. + * + * @return the inner object. + */ + RoleAssignmentScheduleRequestInner innerModel(); + + /** The entirety of the RoleAssignmentScheduleRequest definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithScope, DefinitionStages.WithCreate { + } + /** The RoleAssignmentScheduleRequest definition stages. */ + interface DefinitionStages { + /** The first stage of the RoleAssignmentScheduleRequest definition. */ + interface Blank extends WithScope { + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify parent resource. */ + interface WithScope { + /** + * Specifies scope. + * + * @param scope The scope of the role assignment schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @return the next definition stage. + */ + WithCreate withExistingScope(String scope); + } + /** + * The stage of the RoleAssignmentScheduleRequest definition which contains all the minimum required properties + * for the resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithRoleDefinitionId, + DefinitionStages.WithPrincipalId, + DefinitionStages.WithRequestType, + DefinitionStages.WithTargetRoleAssignmentScheduleId, + DefinitionStages.WithTargetRoleAssignmentScheduleInstanceId, + DefinitionStages.WithScheduleInfo, + DefinitionStages.WithLinkedRoleEligibilityScheduleId, + DefinitionStages.WithJustification, + DefinitionStages.WithTicketInfo, + DefinitionStages.WithCondition, + DefinitionStages.WithConditionVersion { + /** + * Executes the create request. + * + * @return the created resource. + */ + RoleAssignmentScheduleRequest create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + RoleAssignmentScheduleRequest create(Context context); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify roleDefinitionId. */ + interface WithRoleDefinitionId { + /** + * Specifies the roleDefinitionId property: The role definition ID.. + * + * @param roleDefinitionId The role definition ID. + * @return the next definition stage. + */ + WithCreate withRoleDefinitionId(String roleDefinitionId); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify principalId. */ + interface WithPrincipalId { + /** + * Specifies the principalId property: The principal ID.. + * + * @param principalId The principal ID. + * @return the next definition stage. + */ + WithCreate withPrincipalId(String principalId); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify requestType. */ + interface WithRequestType { + /** + * Specifies the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc. + * + * @param requestType The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc. + * @return the next definition stage. + */ + WithCreate withRequestType(RequestType requestType); + } + /** + * The stage of the RoleAssignmentScheduleRequest definition allowing to specify targetRoleAssignmentScheduleId. + */ + interface WithTargetRoleAssignmentScheduleId { + /** + * Specifies the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the + * role assignment schedule id being updated. + * + * @param targetRoleAssignmentScheduleId The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * @return the next definition stage. + */ + WithCreate withTargetRoleAssignmentScheduleId(String targetRoleAssignmentScheduleId); + } + /** + * The stage of the RoleAssignmentScheduleRequest definition allowing to specify + * targetRoleAssignmentScheduleInstanceId. + */ + interface WithTargetRoleAssignmentScheduleInstanceId { + /** + * Specifies the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id + * being updated. + * + * @param targetRoleAssignmentScheduleInstanceId The role assignment schedule instance id being updated. + * @return the next definition stage. + */ + WithCreate withTargetRoleAssignmentScheduleInstanceId(String targetRoleAssignmentScheduleInstanceId); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify scheduleInfo. */ + interface WithScheduleInfo { + /** + * Specifies the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @param scheduleInfo Schedule info of the role assignment schedule. + * @return the next definition stage. + */ + WithCreate withScheduleInfo(RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo); + } + /** + * The stage of the RoleAssignmentScheduleRequest definition allowing to specify + * linkedRoleEligibilityScheduleId. + */ + interface WithLinkedRoleEligibilityScheduleId { + /** + * Specifies the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to + * activate an eligibility.. + * + * @param linkedRoleEligibilityScheduleId The linked role eligibility schedule id - to activate an + * eligibility. + * @return the next definition stage. + */ + WithCreate withLinkedRoleEligibilityScheduleId(String linkedRoleEligibilityScheduleId); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify justification. */ + interface WithJustification { + /** + * Specifies the justification property: Justification for the role assignment. + * + * @param justification Justification for the role assignment. + * @return the next definition stage. + */ + WithCreate withJustification(String justification); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify ticketInfo. */ + interface WithTicketInfo { + /** + * Specifies the ticketInfo property: Ticket Info of the role assignment. + * + * @param ticketInfo Ticket Info of the role assignment. + * @return the next definition stage. + */ + WithCreate withTicketInfo(RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify condition. */ + interface WithCondition { + /** + * Specifies the condition property: The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition The conditions on the role assignment. This limits the resources it can be assigned to. + * e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * @return the next definition stage. + */ + WithCreate withCondition(String condition); + } + /** The stage of the RoleAssignmentScheduleRequest definition allowing to specify conditionVersion. */ + interface WithConditionVersion { + /** + * Specifies the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion Version of the condition. Currently accepted value is '2.0'. + * @return the next definition stage. + */ + WithCreate withConditionVersion(String conditionVersion); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + RoleAssignmentScheduleRequest refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + RoleAssignmentScheduleRequest refresh(Context context); + + /** + * Cancels a pending role assignment schedule request. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void cancel(); + + /** + * Cancels a pending role assignment schedule request. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response cancelWithResponse(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestListResult.java new file mode 100644 index 0000000000000..363e07f5667ca --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule request list operation result. */ +@Fluent +public final class RoleAssignmentScheduleRequestListResult { + /* + * Role assignment schedule request list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role assignment schedule request list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role assignment schedule request list. + * + * @param value the value value to set. + * @return the RoleAssignmentScheduleRequestListResult object itself. + */ + public RoleAssignmentScheduleRequestListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleAssignmentScheduleRequestListResult object itself. + */ + public RoleAssignmentScheduleRequestListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfo.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfo.java new file mode 100644 index 0000000000000..ca0673e417e02 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfo.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Schedule info of the role assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesScheduleInfo { + /* + * Start DateTime of the role assignment schedule. + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * Expiration of the role assignment schedule + */ + @JsonProperty(value = "expiration") + private RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration expiration; + + /** + * Get the startDateTime property: Start DateTime of the role assignment schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime of the role assignment schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleRequestPropertiesScheduleInfo object itself. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the expiration property: Expiration of the role assignment schedule. + * + * @return the expiration value. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration expiration() { + return this.expiration; + } + + /** + * Set the expiration property: Expiration of the role assignment schedule. + * + * @param expiration the expiration value to set. + * @return the RoleAssignmentScheduleRequestPropertiesScheduleInfo object itself. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo withExpiration( + RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration expiration) { + this.expiration = expiration; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expiration() != null) { + expiration().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.java new file mode 100644 index 0000000000000..44df8841d8671 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.java @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Expiration of the role assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { + /* + * Type of the role assignment schedule expiration + */ + @JsonProperty(value = "type") + private Type type; + + /* + * End DateTime of the role assignment schedule. + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * Duration of the role assignment schedule in TimeSpan. + */ + @JsonProperty(value = "duration") + private String duration; + + /** + * Get the type property: Type of the role assignment schedule expiration. + * + * @return the type value. + */ + public Type type() { + return this.type; + } + + /** + * Set the type property: Type of the role assignment schedule expiration. + * + * @param type the type value to set. + * @return the RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration withType(Type type) { + this.type = type; + return this; + } + + /** + * Get the endDateTime property: End DateTime of the role assignment schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime of the role assignment schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the duration property: Duration of the role assignment schedule in TimeSpan. + * + * @return the duration value. + */ + public String duration() { + return this.duration; + } + + /** + * Set the duration property: Duration of the role assignment schedule in TimeSpan. + * + * @param duration the duration value to set. + * @return the RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration withDuration(String duration) { + this.duration = duration; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesTicketInfo.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesTicketInfo.java new file mode 100644 index 0000000000000..45fab56274209 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesTicketInfo.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Ticket Info of the role assignment. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesTicketInfo { + /* + * Ticket number for the role assignment + */ + @JsonProperty(value = "ticketNumber") + private String ticketNumber; + + /* + * Ticket system name for the role assignment + */ + @JsonProperty(value = "ticketSystem") + private String ticketSystem; + + /** + * Get the ticketNumber property: Ticket number for the role assignment. + * + * @return the ticketNumber value. + */ + public String ticketNumber() { + return this.ticketNumber; + } + + /** + * Set the ticketNumber property: Ticket number for the role assignment. + * + * @param ticketNumber the ticketNumber value to set. + * @return the RoleAssignmentScheduleRequestPropertiesTicketInfo object itself. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo withTicketNumber(String ticketNumber) { + this.ticketNumber = ticketNumber; + return this; + } + + /** + * Get the ticketSystem property: Ticket system name for the role assignment. + * + * @return the ticketSystem value. + */ + public String ticketSystem() { + return this.ticketSystem; + } + + /** + * Set the ticketSystem property: Ticket system name for the role assignment. + * + * @param ticketSystem the ticketSystem value to set. + * @return the RoleAssignmentScheduleRequestPropertiesTicketInfo object itself. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo withTicketSystem(String ticketSystem) { + this.ticketSystem = ticketSystem; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequests.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequests.java new file mode 100644 index 0000000000000..4e51ad686cec2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequests.java @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleAssignmentScheduleRequests. */ +public interface RoleAssignmentScheduleRequests { + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request. + */ + RoleAssignmentScheduleRequest get(String scope, String roleAssignmentScheduleRequestName); + + /** + * Get the specified role assignment schedule request. + * + * @param scope The scope of the role assignment schedule request. + * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleAssignmentScheduleRequestName, Context context); + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void cancel(String scope, String roleAssignmentScheduleRequestName); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response cancelWithResponse(String scope, String roleAssignmentScheduleRequestName, Context context); + + /** + * Get the specified role assignment schedule request. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response}. + */ + RoleAssignmentScheduleRequest getById(String id); + + /** + * Get the specified role assignment schedule request. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule request along with {@link Response}. + */ + Response getByIdWithResponse(String id, Context context); + + /** + * Begins definition for a new RoleAssignmentScheduleRequest resource. + * + * @param name resource name. + * @return the first stage of the new RoleAssignmentScheduleRequest definition. + */ + RoleAssignmentScheduleRequest.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedules.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedules.java new file mode 100644 index 0000000000000..aadc15fe79a1e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentSchedules.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleAssignmentSchedules. */ +public interface RoleAssignmentSchedules { + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope. + */ + RoleAssignmentSchedule get(String scope, String roleAssignmentScheduleName); + + /** + * Get the specified role assignment schedule for a resource scope. + * + * @param scope The scope of the role assignment schedule. + * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule for a resource scope along with {@link Response}. + */ + Response getWithResponse(String scope, String roleAssignmentScheduleName, Context context); + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignments.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignments.java new file mode 100644 index 0000000000000..f4ebafa32cdf2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignments.java @@ -0,0 +1,374 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleAssignments. */ +public interface RoleAssignments { + /** + * List all role assignments that apply to a subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable list(); + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable list(String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listByResourceGroup( + String resourceGroupName, String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name. + */ + RoleAssignment get(String scope, String roleAssignmentName); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name along with {@link Response}. + */ + Response getWithResponse(String scope, String roleAssignmentName, String tenantId, Context context); + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + RoleAssignment delete(String scope, String roleAssignmentName); + + /** + * Delete a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + Response deleteWithResponse( + String scope, String roleAssignmentName, String tenantId, Context context); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + ValidationResponse validate(String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters); + + /** + * Validate a role assignment create or update operation by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + Response validateWithResponse( + String scope, String roleAssignmentName, RoleAssignmentCreateParameters parameters, Context context); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param skipToken The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role + * assignments following the skipToken passed. Only supported on provider level calls. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope( + String scope, String filter, String tenantId, String skipToken, Context context); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID. + */ + RoleAssignment getById(String roleAssignmentId); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID along with {@link Response}. + */ + Response getByIdWithResponse(String roleAssignmentId, String tenantId, Context context); + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + RoleAssignment createById(String roleAssignmentId, RoleAssignmentCreateParameters parameters); + + /** + * Create or update a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + Response createByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context); + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments. + */ + RoleAssignment deleteById(String roleAssignmentId); + + /** + * Delete a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role Assignments along with {@link Response}. + */ + Response deleteByIdWithResponse(String roleAssignmentId, String tenantId, Context context); + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response. + */ + ValidationResponse validateById(String roleAssignmentId, RoleAssignmentCreateParameters parameters); + + /** + * Validate a role assignment create or update operation by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param parameters Parameters for the role assignment. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return validation response along with {@link Response}. + */ + Response validateByIdWithResponse( + String roleAssignmentId, RoleAssignmentCreateParameters parameters, Context context); + + /** + * Begins definition for a new RoleAssignment resource. + * + * @param name resource name. + * @return the first stage of the new RoleAssignment definition. + */ + RoleAssignment.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinition.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinition.java new file mode 100644 index 0000000000000..df7993a78c499 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinition.java @@ -0,0 +1,267 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import java.util.List; + +/** An immutable client-side representation of RoleDefinition. */ +public interface RoleDefinition { + /** + * Gets the id property: The role definition ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role definition name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role definition type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the roleName property: The role name. + * + * @return the roleName value. + */ + String roleName(); + + /** + * Gets the description property: The role definition description. + * + * @return the description value. + */ + String description(); + + /** + * Gets the roleType property: The role type. + * + * @return the roleType value. + */ + String roleType(); + + /** + * Gets the permissions property: Role definition permissions. + * + * @return the permissions value. + */ + List permissions(); + + /** + * Gets the assignableScopes property: Role definition assignable scopes. + * + * @return the assignableScopes value. + */ + List assignableScopes(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner object. + * + * @return the inner object. + */ + RoleDefinitionInner innerModel(); + + /** The entirety of the RoleDefinition definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithScope, DefinitionStages.WithCreate { + } + /** The RoleDefinition definition stages. */ + interface DefinitionStages { + /** The first stage of the RoleDefinition definition. */ + interface Blank extends WithScope { + } + /** The stage of the RoleDefinition definition allowing to specify parent resource. */ + interface WithScope { + /** + * Specifies scope. + * + * @param scope The scope of the role definition. + * @return the next definition stage. + */ + WithCreate withExistingScope(String scope); + } + /** + * The stage of the RoleDefinition definition which contains all the minimum required properties for the + * resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithRoleName, + DefinitionStages.WithDescription, + DefinitionStages.WithRoleType, + DefinitionStages.WithPermissions, + DefinitionStages.WithAssignableScopes { + /** + * Executes the create request. + * + * @return the created resource. + */ + RoleDefinition create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + RoleDefinition create(Context context); + } + /** The stage of the RoleDefinition definition allowing to specify roleName. */ + interface WithRoleName { + /** + * Specifies the roleName property: The role name.. + * + * @param roleName The role name. + * @return the next definition stage. + */ + WithCreate withRoleName(String roleName); + } + /** The stage of the RoleDefinition definition allowing to specify description. */ + interface WithDescription { + /** + * Specifies the description property: The role definition description.. + * + * @param description The role definition description. + * @return the next definition stage. + */ + WithCreate withDescription(String description); + } + /** The stage of the RoleDefinition definition allowing to specify roleType. */ + interface WithRoleType { + /** + * Specifies the roleType property: The role type.. + * + * @param roleType The role type. + * @return the next definition stage. + */ + WithCreate withRoleType(String roleType); + } + /** The stage of the RoleDefinition definition allowing to specify permissions. */ + interface WithPermissions { + /** + * Specifies the permissions property: Role definition permissions.. + * + * @param permissions Role definition permissions. + * @return the next definition stage. + */ + WithCreate withPermissions(List permissions); + } + /** The stage of the RoleDefinition definition allowing to specify assignableScopes. */ + interface WithAssignableScopes { + /** + * Specifies the assignableScopes property: Role definition assignable scopes.. + * + * @param assignableScopes Role definition assignable scopes. + * @return the next definition stage. + */ + WithCreate withAssignableScopes(List assignableScopes); + } + } + /** + * Begins update for the RoleDefinition resource. + * + * @return the stage of resource update. + */ + RoleDefinition.Update update(); + + /** The template for RoleDefinition update. */ + interface Update + extends UpdateStages.WithRoleName, + UpdateStages.WithDescription, + UpdateStages.WithRoleType, + UpdateStages.WithPermissions, + UpdateStages.WithAssignableScopes { + /** + * Executes the update request. + * + * @return the updated resource. + */ + RoleDefinition apply(); + + /** + * Executes the update request. + * + * @param context The context to associate with this operation. + * @return the updated resource. + */ + RoleDefinition apply(Context context); + } + /** The RoleDefinition update stages. */ + interface UpdateStages { + /** The stage of the RoleDefinition update allowing to specify roleName. */ + interface WithRoleName { + /** + * Specifies the roleName property: The role name.. + * + * @param roleName The role name. + * @return the next definition stage. + */ + Update withRoleName(String roleName); + } + /** The stage of the RoleDefinition update allowing to specify description. */ + interface WithDescription { + /** + * Specifies the description property: The role definition description.. + * + * @param description The role definition description. + * @return the next definition stage. + */ + Update withDescription(String description); + } + /** The stage of the RoleDefinition update allowing to specify roleType. */ + interface WithRoleType { + /** + * Specifies the roleType property: The role type.. + * + * @param roleType The role type. + * @return the next definition stage. + */ + Update withRoleType(String roleType); + } + /** The stage of the RoleDefinition update allowing to specify permissions. */ + interface WithPermissions { + /** + * Specifies the permissions property: Role definition permissions.. + * + * @param permissions Role definition permissions. + * @return the next definition stage. + */ + Update withPermissions(List permissions); + } + /** The stage of the RoleDefinition update allowing to specify assignableScopes. */ + interface WithAssignableScopes { + /** + * Specifies the assignableScopes property: Role definition assignable scopes.. + * + * @param assignableScopes Role definition assignable scopes. + * @return the next definition stage. + */ + Update withAssignableScopes(List assignableScopes); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + RoleDefinition refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + RoleDefinition refresh(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitionListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitionListResult.java new file mode 100644 index 0000000000000..de13fb8436ff4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitionListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition list operation result. */ +@Fluent +public final class RoleDefinitionListResult { + /* + * Role definition list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role definition list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role definition list. + * + * @param value the value value to set. + * @return the RoleDefinitionListResult object itself. + */ + public RoleDefinitionListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleDefinitionListResult object itself. + */ + public RoleDefinitionListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitions.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitions.java new file mode 100644 index 0000000000000..0a44cbac2ae08 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitions.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleDefinitions. */ +public interface RoleDefinitions { + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + RoleDefinition deleteByResourceGroup(String scope, String roleDefinitionId); + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + Response deleteWithResponse(String scope, String roleDefinitionId, Context context); + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID). + */ + RoleDefinition get(String scope, String roleDefinitionId); + + /** + * Get role definition by name (GUID). + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition by name (GUID) along with {@link Response}. + */ + Response getWithResponse(String scope, String roleDefinitionId, Context context); + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String scope); + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above as paginated response with {@link + * PagedIterable}. + */ + PagedIterable list(String scope, String filter, Context context); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID. + */ + RoleDefinition getById(String roleId); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID along with {@link Response}. + */ + Response getByIdWithResponse(String roleId, Context context); + + /** + * Deletes a role definition. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + RoleDefinition deleteById(String id); + + /** + * Deletes a role definition. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition along with {@link Response}. + */ + Response deleteByIdWithResponse(String id, Context context); + + /** + * Begins definition for a new RoleDefinition resource. + * + * @param name resource name. + * @return the first stage of the new RoleDefinition definition. + */ + RoleDefinition.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedule.java new file mode 100644 index 0000000000000..9704db9e64e40 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedule.java @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleEligibilitySchedule. */ +public interface RoleEligibilitySchedule { + /** + * Gets the id property: The role eligibility schedule Id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role eligibility schedule name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role eligibility schedule type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleEligibilityScheduleRequestId value. + */ + String roleEligibilityScheduleRequestId(); + + /** + * Gets the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + MemberType memberType(); + + /** + * Gets the status property: The status of the role eligibility schedule. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the startDateTime property: Start DateTime when role eligibility schedule. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: End DateTime when role eligibility schedule. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @return the updatedOn value. + */ + OffsetDateTime updatedOn(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner + * object. + * + * @return the inner object. + */ + RoleEligibilityScheduleInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstance.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstance.java new file mode 100644 index 0000000000000..a4b8171144146 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstance.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleEligibilityScheduleInstance. */ +public interface RoleEligibilityScheduleInstance { + /** + * Gets the id property: The role eligibility schedule instance ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role eligibility schedule instance name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role eligibility schedule instance type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @return the roleEligibilityScheduleId value. + */ + String roleEligibilityScheduleId(); + + /** + * Gets the status property: The status of the role eligibility schedule instance. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @return the startDateTime value. + */ + OffsetDateTime startDateTime(); + + /** + * Gets the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @return the endDateTime value. + */ + OffsetDateTime endDateTime(); + + /** + * Gets the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + MemberType memberType(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner object. + * + * @return the inner object. + */ + RoleEligibilityScheduleInstanceInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstanceListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstanceListResult.java new file mode 100644 index 0000000000000..1207199ecee8d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstanceListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role eligibility schedule instance list operation result. */ +@Fluent +public final class RoleEligibilityScheduleInstanceListResult { + /* + * Role eligibility schedule instance list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role eligibility schedule instance list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role eligibility schedule instance list. + * + * @param value the value value to set. + * @return the RoleEligibilityScheduleInstanceListResult object itself. + */ + public RoleEligibilityScheduleInstanceListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleEligibilityScheduleInstanceListResult object itself. + */ + public RoleEligibilityScheduleInstanceListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstances.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstances.java new file mode 100644 index 0000000000000..abef88c1de34a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstances.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleEligibilityScheduleInstances. */ +public interface RoleEligibilityScheduleInstances { + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance. + */ + RoleEligibilityScheduleInstance get(String scope, String roleEligibilityScheduleInstanceName); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleEligibilityScheduleInstanceName, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleListResult.java new file mode 100644 index 0000000000000..23a1cb1aaa3b3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** role eligibility schedule list operation result. */ +@Fluent +public final class RoleEligibilityScheduleListResult { + /* + * role eligibility schedule list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: role eligibility schedule list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: role eligibility schedule list. + * + * @param value the value value to set. + * @return the RoleEligibilityScheduleListResult object itself. + */ + public RoleEligibilityScheduleListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleEligibilityScheduleListResult object itself. + */ + public RoleEligibilityScheduleListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequest.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequest.java new file mode 100644 index 0000000000000..7bd8ae6a23b54 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequest.java @@ -0,0 +1,369 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import java.time.OffsetDateTime; + +/** An immutable client-side representation of RoleEligibilityScheduleRequest. */ +public interface RoleEligibilityScheduleRequest { + /** + * Gets the id property: The role eligibility schedule request ID. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role eligibility schedule request name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role eligibility schedule request type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role eligibility schedule request scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the principalId property: The principal ID. + * + * @return the principalId value. + */ + String principalId(); + + /** + * Gets the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + PrincipalType principalType(); + + /** + * Gets the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + RequestType requestType(); + + /** + * Gets the status property: The status of the role eligibility schedule request. + * + * @return the status value. + */ + Status status(); + + /** + * Gets the approvalId property: The approvalId of the role eligibility schedule request. + * + * @return the approvalId value. + */ + String approvalId(); + + /** + * Gets the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @return the scheduleInfo value. + */ + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo(); + + /** + * Gets the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @return the targetRoleEligibilityScheduleId value. + */ + String targetRoleEligibilityScheduleId(); + + /** + * Gets the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @return the targetRoleEligibilityScheduleInstanceId value. + */ + String targetRoleEligibilityScheduleInstanceId(); + + /** + * Gets the justification property: Justification for the role eligibility. + * + * @return the justification value. + */ + String justification(); + + /** + * Gets the ticketInfo property: Ticket Info of the role eligibility. + * + * @return the ticketInfo value. + */ + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo(); + + /** + * Gets the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + String condition(); + + /** + * Gets the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + String conditionVersion(); + + /** + * Gets the createdOn property: DateTime when role eligibility schedule request was created. + * + * @return the createdOn value. + */ + OffsetDateTime createdOn(); + + /** + * Gets the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + String requestorId(); + + /** + * Gets the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + ExpandedProperties expandedProperties(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner object. + * + * @return the inner object. + */ + RoleEligibilityScheduleRequestInner innerModel(); + + /** The entirety of the RoleEligibilityScheduleRequest definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithScope, DefinitionStages.WithCreate { + } + /** The RoleEligibilityScheduleRequest definition stages. */ + interface DefinitionStages { + /** The first stage of the RoleEligibilityScheduleRequest definition. */ + interface Blank extends WithScope { + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify parent resource. */ + interface WithScope { + /** + * Specifies scope. + * + * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @return the next definition stage. + */ + WithCreate withExistingScope(String scope); + } + /** + * The stage of the RoleEligibilityScheduleRequest definition which contains all the minimum required properties + * for the resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithRoleDefinitionId, + DefinitionStages.WithPrincipalId, + DefinitionStages.WithRequestType, + DefinitionStages.WithScheduleInfo, + DefinitionStages.WithTargetRoleEligibilityScheduleId, + DefinitionStages.WithTargetRoleEligibilityScheduleInstanceId, + DefinitionStages.WithJustification, + DefinitionStages.WithTicketInfo, + DefinitionStages.WithCondition, + DefinitionStages.WithConditionVersion { + /** + * Executes the create request. + * + * @return the created resource. + */ + RoleEligibilityScheduleRequest create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + RoleEligibilityScheduleRequest create(Context context); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify roleDefinitionId. */ + interface WithRoleDefinitionId { + /** + * Specifies the roleDefinitionId property: The role definition ID.. + * + * @param roleDefinitionId The role definition ID. + * @return the next definition stage. + */ + WithCreate withRoleDefinitionId(String roleDefinitionId); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify principalId. */ + interface WithPrincipalId { + /** + * Specifies the principalId property: The principal ID.. + * + * @param principalId The principal ID. + * @return the next definition stage. + */ + WithCreate withPrincipalId(String principalId); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify requestType. */ + interface WithRequestType { + /** + * Specifies the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc. + * + * @param requestType The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc. + * @return the next definition stage. + */ + WithCreate withRequestType(RequestType requestType); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify scheduleInfo. */ + interface WithScheduleInfo { + /** + * Specifies the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @param scheduleInfo Schedule info of the role eligibility schedule. + * @return the next definition stage. + */ + WithCreate withScheduleInfo(RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo); + } + /** + * The stage of the RoleEligibilityScheduleRequest definition allowing to specify + * targetRoleEligibilityScheduleId. + */ + interface WithTargetRoleEligibilityScheduleId { + /** + * Specifies the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the + * role eligibility schedule id being updated. + * + * @param targetRoleEligibilityScheduleId The resultant role eligibility schedule id or the role eligibility + * schedule id being updated. + * @return the next definition stage. + */ + WithCreate withTargetRoleEligibilityScheduleId(String targetRoleEligibilityScheduleId); + } + /** + * The stage of the RoleEligibilityScheduleRequest definition allowing to specify + * targetRoleEligibilityScheduleInstanceId. + */ + interface WithTargetRoleEligibilityScheduleInstanceId { + /** + * Specifies the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id + * being updated. + * + * @param targetRoleEligibilityScheduleInstanceId The role eligibility schedule instance id being updated. + * @return the next definition stage. + */ + WithCreate withTargetRoleEligibilityScheduleInstanceId(String targetRoleEligibilityScheduleInstanceId); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify justification. */ + interface WithJustification { + /** + * Specifies the justification property: Justification for the role eligibility. + * + * @param justification Justification for the role eligibility. + * @return the next definition stage. + */ + WithCreate withJustification(String justification); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify ticketInfo. */ + interface WithTicketInfo { + /** + * Specifies the ticketInfo property: Ticket Info of the role eligibility. + * + * @param ticketInfo Ticket Info of the role eligibility. + * @return the next definition stage. + */ + WithCreate withTicketInfo(RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify condition. */ + interface WithCondition { + /** + * Specifies the condition property: The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition The conditions on the role assignment. This limits the resources it can be assigned to. + * e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * @return the next definition stage. + */ + WithCreate withCondition(String condition); + } + /** The stage of the RoleEligibilityScheduleRequest definition allowing to specify conditionVersion. */ + interface WithConditionVersion { + /** + * Specifies the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion Version of the condition. Currently accepted value is '2.0'. + * @return the next definition stage. + */ + WithCreate withConditionVersion(String conditionVersion); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + RoleEligibilityScheduleRequest refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + RoleEligibilityScheduleRequest refresh(Context context); + + /** + * Cancels a pending role eligibility schedule request. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void cancel(); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response cancelWithResponse(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestListResult.java new file mode 100644 index 0000000000000..ad4090d904268 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role eligibility schedule request list operation result. */ +@Fluent +public final class RoleEligibilityScheduleRequestListResult { + /* + * Role eligibility schedule request list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role eligibility schedule request list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role eligibility schedule request list. + * + * @param value the value value to set. + * @return the RoleEligibilityScheduleRequestListResult object itself. + */ + public RoleEligibilityScheduleRequestListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleEligibilityScheduleRequestListResult object itself. + */ + public RoleEligibilityScheduleRequestListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfo.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfo.java new file mode 100644 index 0000000000000..773fdaebc06f6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfo.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Schedule info of the role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesScheduleInfo { + /* + * Start DateTime of the role eligibility schedule. + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * Expiration of the role eligibility schedule + */ + @JsonProperty(value = "expiration") + private RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration expiration; + + /** + * Get the startDateTime property: Start DateTime of the role eligibility schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime of the role eligibility schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleRequestPropertiesScheduleInfo object itself. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the expiration property: Expiration of the role eligibility schedule. + * + * @return the expiration value. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration expiration() { + return this.expiration; + } + + /** + * Set the expiration property: Expiration of the role eligibility schedule. + * + * @param expiration the expiration value to set. + * @return the RoleEligibilityScheduleRequestPropertiesScheduleInfo object itself. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo withExpiration( + RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration expiration) { + this.expiration = expiration; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expiration() != null) { + expiration().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.java new file mode 100644 index 0000000000000..3ce17e4689402 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.java @@ -0,0 +1,99 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Expiration of the role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { + /* + * Type of the role eligibility schedule expiration + */ + @JsonProperty(value = "type") + private Type type; + + /* + * End DateTime of the role eligibility schedule. + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * Duration of the role eligibility schedule in TimeSpan. + */ + @JsonProperty(value = "duration") + private String duration; + + /** + * Get the type property: Type of the role eligibility schedule expiration. + * + * @return the type value. + */ + public Type type() { + return this.type; + } + + /** + * Set the type property: Type of the role eligibility schedule expiration. + * + * @param type the type value to set. + * @return the RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration withType(Type type) { + this.type = type; + return this; + } + + /** + * Get the endDateTime property: End DateTime of the role eligibility schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime of the role eligibility schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the duration property: Duration of the role eligibility schedule in TimeSpan. + * + * @return the duration value. + */ + public String duration() { + return this.duration; + } + + /** + * Set the duration property: Duration of the role eligibility schedule in TimeSpan. + * + * @param duration the duration value to set. + * @return the RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration object itself. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration withDuration(String duration) { + this.duration = duration; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesTicketInfo.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesTicketInfo.java new file mode 100644 index 0000000000000..545637168f3da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesTicketInfo.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Ticket Info of the role eligibility. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesTicketInfo { + /* + * Ticket number for the role eligibility + */ + @JsonProperty(value = "ticketNumber") + private String ticketNumber; + + /* + * Ticket system name for the role eligibility + */ + @JsonProperty(value = "ticketSystem") + private String ticketSystem; + + /** + * Get the ticketNumber property: Ticket number for the role eligibility. + * + * @return the ticketNumber value. + */ + public String ticketNumber() { + return this.ticketNumber; + } + + /** + * Set the ticketNumber property: Ticket number for the role eligibility. + * + * @param ticketNumber the ticketNumber value to set. + * @return the RoleEligibilityScheduleRequestPropertiesTicketInfo object itself. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo withTicketNumber(String ticketNumber) { + this.ticketNumber = ticketNumber; + return this; + } + + /** + * Get the ticketSystem property: Ticket system name for the role eligibility. + * + * @return the ticketSystem value. + */ + public String ticketSystem() { + return this.ticketSystem; + } + + /** + * Set the ticketSystem property: Ticket system name for the role eligibility. + * + * @param ticketSystem the ticketSystem value to set. + * @return the RoleEligibilityScheduleRequestPropertiesTicketInfo object itself. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo withTicketSystem(String ticketSystem) { + this.ticketSystem = ticketSystem; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequests.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequests.java new file mode 100644 index 0000000000000..25aeb310340d6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequests.java @@ -0,0 +1,122 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleEligibilityScheduleRequests. */ +public interface RoleEligibilityScheduleRequests { + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request. + */ + RoleEligibilityScheduleRequest get(String scope, String roleEligibilityScheduleRequestName); + + /** + * Get the specified role eligibility schedule request. + * + * @param scope The scope of the role eligibility schedule request. + * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleEligibilityScheduleRequestName, Context context); + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void cancel(String scope, String roleEligibilityScheduleRequestName); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response cancelWithResponse(String scope, String roleEligibilityScheduleRequestName, Context context); + + /** + * Get the specified role eligibility schedule request. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response}. + */ + RoleEligibilityScheduleRequest getById(String id); + + /** + * Get the specified role eligibility schedule request. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule request along with {@link Response}. + */ + Response getByIdWithResponse(String id, Context context); + + /** + * Begins definition for a new RoleEligibilityScheduleRequest resource. + * + * @param name resource name. + * @return the first stage of the new RoleEligibilityScheduleRequest definition. + */ + RoleEligibilityScheduleRequest.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedules.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedules.java new file mode 100644 index 0000000000000..55b1c2ccf5360 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilitySchedules.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.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleEligibilitySchedules. */ +public interface RoleEligibilitySchedules { + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope. + */ + RoleEligibilitySchedule get(String scope, String roleEligibilityScheduleName); + + /** + * Get the specified role eligibility schedule for a resource scope. + * + * @param scope The scope of the role eligibility schedule. + * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule for a resource scope along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleEligibilityScheduleName, Context context); + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicies.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicies.java new file mode 100644 index 0000000000000..8b4f3abd05129 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicies.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; + +/** Resource collection API of RoleManagementPolicies. */ +public interface RoleManagementPolicies { + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope. + */ + RoleManagementPolicy get(String scope, String roleManagementPolicyName); + + /** + * Get the specified role management policy for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyName The name (guid) of the role management policy to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy for a resource scope along with {@link Response}. + */ + Response getWithResponse(String scope, String roleManagementPolicyName, Context context); + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy. + */ + RoleManagementPolicy update(String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters); + + /** + * Update a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param parameters Parameters for the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policy along with {@link Response}. + */ + Response updateWithResponse( + String scope, String roleManagementPolicyName, RoleManagementPolicyInner parameters, Context context); + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteByResourceGroup(String scope, String roleManagementPolicyName); + + /** + * Delete a role management policy. + * + * @param scope The scope of the role management policy to upsert. + * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteWithResponse(String scope, String roleManagementPolicyName, Context context); + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope as paginated response with {@link PagedIterable}. + */ + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicy.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicy.java new file mode 100644 index 0000000000000..73df63fd104da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicy.java @@ -0,0 +1,103 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import java.time.OffsetDateTime; +import java.util.List; + +/** An immutable client-side representation of RoleManagementPolicy. */ +public interface RoleManagementPolicy { + /** + * Gets the id property: The role management policy Id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role management policy name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role management policy type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role management policy scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the displayName property: The role management policy display name. + * + * @return the displayName value. + */ + String displayName(); + + /** + * Gets the description property: The role management policy description. + * + * @return the description value. + */ + String description(); + + /** + * Gets the isOrganizationDefault property: The role management policy is default policy. + * + * @return the isOrganizationDefault value. + */ + Boolean isOrganizationDefault(); + + /** + * Gets the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + Principal lastModifiedBy(); + + /** + * Gets the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + OffsetDateTime lastModifiedDateTime(); + + /** + * Gets the rules property: The rule applied to the policy. + * + * @return the rules value. + */ + List rules(); + + /** + * Gets the effectiveRules property: The readonly computed rule applied to the policy. + * + * @return the effectiveRules value. + */ + List effectiveRules(); + + /** + * Gets the policyProperties property: Additional properties of scope. + * + * @return the policyProperties value. + */ + PolicyProperties policyProperties(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner object. + * + * @return the inner object. + */ + RoleManagementPolicyInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyApprovalRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyApprovalRule.java new file mode 100644 index 0000000000000..be45a4f0bdb97 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyApprovalRule.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The role management policy rule. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "ruleType") +@JsonTypeName("RoleManagementPolicyApprovalRule") +@Fluent +public final class RoleManagementPolicyApprovalRule extends RoleManagementPolicyRule { + /* + * The approval setting + */ + @JsonProperty(value = "setting") + private ApprovalSettings setting; + + /** + * Get the setting property: The approval setting. + * + * @return the setting value. + */ + public ApprovalSettings setting() { + return this.setting; + } + + /** + * Set the setting property: The approval setting. + * + * @param setting the setting value to set. + * @return the RoleManagementPolicyApprovalRule object itself. + */ + public RoleManagementPolicyApprovalRule withSetting(ApprovalSettings setting) { + this.setting = setting; + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyApprovalRule withId(String id) { + super.withId(id); + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyApprovalRule withTarget(RoleManagementPolicyRuleTarget target) { + super.withTarget(target); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + if (setting() != null) { + setting().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignment.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignment.java new file mode 100644 index 0000000000000..8d5706a9dd311 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignment.java @@ -0,0 +1,153 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; + +/** An immutable client-side representation of RoleManagementPolicyAssignment. */ +public interface RoleManagementPolicyAssignment { + /** + * Gets the id property: The role management policy Id. + * + * @return the id value. + */ + String id(); + + /** + * Gets the name property: The role management policy name. + * + * @return the name value. + */ + String name(); + + /** + * Gets the type property: The role management policy type. + * + * @return the type value. + */ + String type(); + + /** + * Gets the scope property: The role management policy scope. + * + * @return the scope value. + */ + String scope(); + + /** + * Gets the roleDefinitionId property: The role definition of management policy assignment. + * + * @return the roleDefinitionId value. + */ + String roleDefinitionId(); + + /** + * Gets the policyId property: The policy id role management policy assignment. + * + * @return the policyId value. + */ + String policyId(); + + /** + * Gets the policyAssignmentProperties property: Additional properties of scope, role definition and policy. + * + * @return the policyAssignmentProperties value. + */ + PolicyAssignmentProperties policyAssignmentProperties(); + + /** + * Gets the inner + * com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner object. + * + * @return the inner object. + */ + RoleManagementPolicyAssignmentInner innerModel(); + + /** The entirety of the RoleManagementPolicyAssignment definition. */ + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithScopeStage, DefinitionStages.WithCreate { + } + /** The RoleManagementPolicyAssignment definition stages. */ + interface DefinitionStages { + /** The first stage of the RoleManagementPolicyAssignment definition. */ + interface Blank extends WithScopeStage { + } + /** The stage of the RoleManagementPolicyAssignment definition allowing to specify parent resource. */ + interface WithScopeStage { + /** + * Specifies scope. + * + * @param scope The scope of the role management policy assignment to upsert. + * @return the next definition stage. + */ + WithCreate withExistingScope(String scope); + } + /** + * The stage of the RoleManagementPolicyAssignment definition which contains all the minimum required properties + * for the resource to be created, but also allows for any other optional properties to be specified. + */ + interface WithCreate + extends DefinitionStages.WithScope, DefinitionStages.WithRoleDefinitionId, DefinitionStages.WithPolicyId { + /** + * Executes the create request. + * + * @return the created resource. + */ + RoleManagementPolicyAssignment create(); + + /** + * Executes the create request. + * + * @param context The context to associate with this operation. + * @return the created resource. + */ + RoleManagementPolicyAssignment create(Context context); + } + /** The stage of the RoleManagementPolicyAssignment definition allowing to specify scope. */ + interface WithScope { + /** + * Specifies the scope property: The role management policy scope.. + * + * @param scope The role management policy scope. + * @return the next definition stage. + */ + WithCreate withScope(String scope); + } + /** The stage of the RoleManagementPolicyAssignment definition allowing to specify roleDefinitionId. */ + interface WithRoleDefinitionId { + /** + * Specifies the roleDefinitionId property: The role definition of management policy assignment.. + * + * @param roleDefinitionId The role definition of management policy assignment. + * @return the next definition stage. + */ + WithCreate withRoleDefinitionId(String roleDefinitionId); + } + /** The stage of the RoleManagementPolicyAssignment definition allowing to specify policyId. */ + interface WithPolicyId { + /** + * Specifies the policyId property: The policy id role management policy assignment.. + * + * @param policyId The policy id role management policy assignment. + * @return the next definition stage. + */ + WithCreate withPolicyId(String policyId); + } + } + /** + * Refreshes the resource to sync with Azure. + * + * @return the refreshed resource. + */ + RoleManagementPolicyAssignment refresh(); + + /** + * Refreshes the resource to sync with Azure. + * + * @param context The context to associate with this operation. + * @return the refreshed resource. + */ + RoleManagementPolicyAssignment refresh(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignmentListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignmentListResult.java new file mode 100644 index 0000000000000..24f6d20585f14 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignmentListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role management policy assignment list operation result. */ +@Fluent +public final class RoleManagementPolicyAssignmentListResult { + /* + * Role management policy assignment list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role management policy assignment list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role management policy assignment list. + * + * @param value the value value to set. + * @return the RoleManagementPolicyAssignmentListResult object itself. + */ + public RoleManagementPolicyAssignmentListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleManagementPolicyAssignmentListResult object itself. + */ + public RoleManagementPolicyAssignmentListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignments.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignments.java new file mode 100644 index 0000000000000..39ffce90dd441 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignments.java @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; + +/** Resource collection API of RoleManagementPolicyAssignments. */ +public interface RoleManagementPolicyAssignments { + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope. + */ + RoleManagementPolicyAssignment get(String scope, String roleManagementPolicyAssignmentName); + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response}. + */ + Response getWithResponse( + String scope, String roleManagementPolicyAssignmentName, Context context); + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteByResourceGroup(String scope, String roleManagementPolicyAssignmentName); + + /** + * Delete a role management policy assignment. + * + * @param scope The scope of the role management policy assignment to delete. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteWithResponse(String scope, String roleManagementPolicyAssignmentName, Context context); + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope); + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope as paginated response with {@link + * PagedIterable}. + */ + PagedIterable listForScope(String scope, Context context); + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response}. + */ + RoleManagementPolicyAssignment getById(String id); + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope along with {@link Response}. + */ + Response getByIdWithResponse(String id, Context context); + + /** + * Delete a role management policy assignment. + * + * @param id the resource ID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + void deleteById(String id); + + /** + * Delete a role management policy assignment. + * + * @param id the resource ID. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link Response}. + */ + Response deleteByIdWithResponse(String id, Context context); + + /** + * Begins definition for a new RoleManagementPolicyAssignment resource. + * + * @param name resource name. + * @return the first stage of the new RoleManagementPolicyAssignment definition. + */ + RoleManagementPolicyAssignment.DefinitionStages.Blank define(String name); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAuthenticationContextRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAuthenticationContextRule.java new file mode 100644 index 0000000000000..8a10ac747df7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAuthenticationContextRule.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The role management policy rule. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "ruleType") +@JsonTypeName("RoleManagementPolicyAuthenticationContextRule") +@Fluent +public final class RoleManagementPolicyAuthenticationContextRule extends RoleManagementPolicyRule { + /* + * The value indicating if rule is enabled. + */ + @JsonProperty(value = "isEnabled") + private Boolean isEnabled; + + /* + * The claim value. + */ + @JsonProperty(value = "claimValue") + private String claimValue; + + /** + * Get the isEnabled property: The value indicating if rule is enabled. + * + * @return the isEnabled value. + */ + public Boolean isEnabled() { + return this.isEnabled; + } + + /** + * Set the isEnabled property: The value indicating if rule is enabled. + * + * @param isEnabled the isEnabled value to set. + * @return the RoleManagementPolicyAuthenticationContextRule object itself. + */ + public RoleManagementPolicyAuthenticationContextRule withIsEnabled(Boolean isEnabled) { + this.isEnabled = isEnabled; + return this; + } + + /** + * Get the claimValue property: The claim value. + * + * @return the claimValue value. + */ + public String claimValue() { + return this.claimValue; + } + + /** + * Set the claimValue property: The claim value. + * + * @param claimValue the claimValue value to set. + * @return the RoleManagementPolicyAuthenticationContextRule object itself. + */ + public RoleManagementPolicyAuthenticationContextRule withClaimValue(String claimValue) { + this.claimValue = claimValue; + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyAuthenticationContextRule withId(String id) { + super.withId(id); + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyAuthenticationContextRule withTarget(RoleManagementPolicyRuleTarget target) { + super.withTarget(target); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyEnablementRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyEnablementRule.java new file mode 100644 index 0000000000000..f1a36b63cb8b8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyEnablementRule.java @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** The role management policy rule. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "ruleType") +@JsonTypeName("RoleManagementPolicyEnablementRule") +@Fluent +public final class RoleManagementPolicyEnablementRule extends RoleManagementPolicyRule { + /* + * The list of enabled rules. + */ + @JsonProperty(value = "enabledRules") + private List enabledRules; + + /** + * Get the enabledRules property: The list of enabled rules. + * + * @return the enabledRules value. + */ + public List enabledRules() { + return this.enabledRules; + } + + /** + * Set the enabledRules property: The list of enabled rules. + * + * @param enabledRules the enabledRules value to set. + * @return the RoleManagementPolicyEnablementRule object itself. + */ + public RoleManagementPolicyEnablementRule withEnabledRules(List enabledRules) { + this.enabledRules = enabledRules; + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyEnablementRule withId(String id) { + super.withId(id); + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyEnablementRule withTarget(RoleManagementPolicyRuleTarget target) { + super.withTarget(target); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyExpirationRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyExpirationRule.java new file mode 100644 index 0000000000000..c718fbe426ba1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyExpirationRule.java @@ -0,0 +1,92 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The role management policy rule. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "ruleType") +@JsonTypeName("RoleManagementPolicyExpirationRule") +@Fluent +public final class RoleManagementPolicyExpirationRule extends RoleManagementPolicyRule { + /* + * The value indicating whether expiration is required. + */ + @JsonProperty(value = "isExpirationRequired") + private Boolean isExpirationRequired; + + /* + * The maximum duration of expiration in timespan. + */ + @JsonProperty(value = "maximumDuration") + private String maximumDuration; + + /** + * Get the isExpirationRequired property: The value indicating whether expiration is required. + * + * @return the isExpirationRequired value. + */ + public Boolean isExpirationRequired() { + return this.isExpirationRequired; + } + + /** + * Set the isExpirationRequired property: The value indicating whether expiration is required. + * + * @param isExpirationRequired the isExpirationRequired value to set. + * @return the RoleManagementPolicyExpirationRule object itself. + */ + public RoleManagementPolicyExpirationRule withIsExpirationRequired(Boolean isExpirationRequired) { + this.isExpirationRequired = isExpirationRequired; + return this; + } + + /** + * Get the maximumDuration property: The maximum duration of expiration in timespan. + * + * @return the maximumDuration value. + */ + public String maximumDuration() { + return this.maximumDuration; + } + + /** + * Set the maximumDuration property: The maximum duration of expiration in timespan. + * + * @param maximumDuration the maximumDuration value to set. + * @return the RoleManagementPolicyExpirationRule object itself. + */ + public RoleManagementPolicyExpirationRule withMaximumDuration(String maximumDuration) { + this.maximumDuration = maximumDuration; + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyExpirationRule withId(String id) { + super.withId(id); + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyExpirationRule withTarget(RoleManagementPolicyRuleTarget target) { + super.withTarget(target); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyListResult.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyListResult.java new file mode 100644 index 0000000000000..f2b56d7b6a789 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyListResult.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role management policy list operation result. */ +@Fluent +public final class RoleManagementPolicyListResult { + /* + * Role management policy list. + */ + @JsonProperty(value = "value") + private List value; + + /* + * The URL to use for getting the next set of results. + */ + @JsonProperty(value = "nextLink") + private String nextLink; + + /** + * Get the value property: Role management policy list. + * + * @return the value value. + */ + public List value() { + return this.value; + } + + /** + * Set the value property: Role management policy list. + * + * @param value the value value to set. + * @return the RoleManagementPolicyListResult object itself. + */ + public RoleManagementPolicyListResult withValue(List value) { + this.value = value; + return this; + } + + /** + * Get the nextLink property: The URL to use for getting the next set of results. + * + * @return the nextLink value. + */ + public String nextLink() { + return this.nextLink; + } + + /** + * Set the nextLink property: The URL to use for getting the next set of results. + * + * @param nextLink the nextLink value to set. + * @return the RoleManagementPolicyListResult object itself. + */ + public RoleManagementPolicyListResult withNextLink(String nextLink) { + this.nextLink = nextLink; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (value() != null) { + value().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyNotificationRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyNotificationRule.java new file mode 100644 index 0000000000000..a557128ddfe49 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyNotificationRule.java @@ -0,0 +1,174 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import java.util.List; + +/** The role management policy rule. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "ruleType") +@JsonTypeName("RoleManagementPolicyNotificationRule") +@Fluent +public final class RoleManagementPolicyNotificationRule extends RoleManagementPolicyRule { + /* + * The type of notification. + */ + @JsonProperty(value = "notificationType") + private NotificationDeliveryMechanism notificationType; + + /* + * The notification level. + */ + @JsonProperty(value = "notificationLevel") + private NotificationLevel notificationLevel; + + /* + * The recipient type. + */ + @JsonProperty(value = "recipientType") + private RecipientType recipientType; + + /* + * The list notification recipients. + */ + @JsonProperty(value = "notificationRecipients") + private List notificationRecipients; + + /* + * Its value determine if the notification need to be sent to the recipient + * type specified in policy rule. + */ + @JsonProperty(value = "isDefaultRecipientsEnabled") + private Boolean isDefaultRecipientsEnabled; + + /** + * Get the notificationType property: The type of notification. + * + * @return the notificationType value. + */ + public NotificationDeliveryMechanism notificationType() { + return this.notificationType; + } + + /** + * Set the notificationType property: The type of notification. + * + * @param notificationType the notificationType value to set. + * @return the RoleManagementPolicyNotificationRule object itself. + */ + public RoleManagementPolicyNotificationRule withNotificationType(NotificationDeliveryMechanism notificationType) { + this.notificationType = notificationType; + return this; + } + + /** + * Get the notificationLevel property: The notification level. + * + * @return the notificationLevel value. + */ + public NotificationLevel notificationLevel() { + return this.notificationLevel; + } + + /** + * Set the notificationLevel property: The notification level. + * + * @param notificationLevel the notificationLevel value to set. + * @return the RoleManagementPolicyNotificationRule object itself. + */ + public RoleManagementPolicyNotificationRule withNotificationLevel(NotificationLevel notificationLevel) { + this.notificationLevel = notificationLevel; + return this; + } + + /** + * Get the recipientType property: The recipient type. + * + * @return the recipientType value. + */ + public RecipientType recipientType() { + return this.recipientType; + } + + /** + * Set the recipientType property: The recipient type. + * + * @param recipientType the recipientType value to set. + * @return the RoleManagementPolicyNotificationRule object itself. + */ + public RoleManagementPolicyNotificationRule withRecipientType(RecipientType recipientType) { + this.recipientType = recipientType; + return this; + } + + /** + * Get the notificationRecipients property: The list notification recipients. + * + * @return the notificationRecipients value. + */ + public List notificationRecipients() { + return this.notificationRecipients; + } + + /** + * Set the notificationRecipients property: The list notification recipients. + * + * @param notificationRecipients the notificationRecipients value to set. + * @return the RoleManagementPolicyNotificationRule object itself. + */ + public RoleManagementPolicyNotificationRule withNotificationRecipients(List notificationRecipients) { + this.notificationRecipients = notificationRecipients; + return this; + } + + /** + * Get the isDefaultRecipientsEnabled property: Its value determine if the notification need to be sent to the + * recipient type specified in policy rule. + * + * @return the isDefaultRecipientsEnabled value. + */ + public Boolean isDefaultRecipientsEnabled() { + return this.isDefaultRecipientsEnabled; + } + + /** + * Set the isDefaultRecipientsEnabled property: Its value determine if the notification need to be sent to the + * recipient type specified in policy rule. + * + * @param isDefaultRecipientsEnabled the isDefaultRecipientsEnabled value to set. + * @return the RoleManagementPolicyNotificationRule object itself. + */ + public RoleManagementPolicyNotificationRule withIsDefaultRecipientsEnabled(Boolean isDefaultRecipientsEnabled) { + this.isDefaultRecipientsEnabled = isDefaultRecipientsEnabled; + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyNotificationRule withId(String id) { + super.withId(id); + return this; + } + + /** {@inheritDoc} */ + @Override + public RoleManagementPolicyNotificationRule withTarget(RoleManagementPolicyRuleTarget target) { + super.withTarget(target); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + @Override + public void validate() { + super.validate(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRule.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRule.java new file mode 100644 index 0000000000000..81822597b3aaf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRule.java @@ -0,0 +1,95 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** The role management policy rule. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "ruleType", + defaultImpl = RoleManagementPolicyRule.class) +@JsonTypeName("RoleManagementPolicyRule") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "RoleManagementPolicyApprovalRule", value = RoleManagementPolicyApprovalRule.class), + @JsonSubTypes.Type( + name = "RoleManagementPolicyAuthenticationContextRule", + value = RoleManagementPolicyAuthenticationContextRule.class), + @JsonSubTypes.Type(name = "RoleManagementPolicyEnablementRule", value = RoleManagementPolicyEnablementRule.class), + @JsonSubTypes.Type(name = "RoleManagementPolicyExpirationRule", value = RoleManagementPolicyExpirationRule.class), + @JsonSubTypes.Type( + name = "RoleManagementPolicyNotificationRule", + value = RoleManagementPolicyNotificationRule.class) +}) +@Fluent +public class RoleManagementPolicyRule { + /* + * The id of the rule. + */ + @JsonProperty(value = "id") + private String id; + + /* + * The target of the current rule. + */ + @JsonProperty(value = "target") + private RoleManagementPolicyRuleTarget target; + + /** + * Get the id property: The id of the rule. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: The id of the rule. + * + * @param id the id value to set. + * @return the RoleManagementPolicyRule object itself. + */ + public RoleManagementPolicyRule withId(String id) { + this.id = id; + return this; + } + + /** + * Get the target property: The target of the current rule. + * + * @return the target value. + */ + public RoleManagementPolicyRuleTarget target() { + return this.target; + } + + /** + * Set the target property: The target of the current rule. + * + * @param target the target value to set. + * @return the RoleManagementPolicyRule object itself. + */ + public RoleManagementPolicyRule withTarget(RoleManagementPolicyRuleTarget target) { + this.target = target; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (target() != null) { + target().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleTarget.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleTarget.java new file mode 100644 index 0000000000000..357301c2ec54b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleTarget.java @@ -0,0 +1,177 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The role management policy rule target. */ +@Fluent +public final class RoleManagementPolicyRuleTarget { + /* + * The caller of the setting. + */ + @JsonProperty(value = "caller") + private String caller; + + /* + * The type of operation. + */ + @JsonProperty(value = "operations") + private List operations; + + /* + * The assignment level to which it is applied. + */ + @JsonProperty(value = "level") + private String level; + + /* + * The list of target objects. + */ + @JsonProperty(value = "targetObjects") + private List targetObjects; + + /* + * The list of inheritable settings. + */ + @JsonProperty(value = "inheritableSettings") + private List inheritableSettings; + + /* + * The list of enforced settings. + */ + @JsonProperty(value = "enforcedSettings") + private List enforcedSettings; + + /** + * Get the caller property: The caller of the setting. + * + * @return the caller value. + */ + public String caller() { + return this.caller; + } + + /** + * Set the caller property: The caller of the setting. + * + * @param caller the caller value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withCaller(String caller) { + this.caller = caller; + return this; + } + + /** + * Get the operations property: The type of operation. + * + * @return the operations value. + */ + public List operations() { + return this.operations; + } + + /** + * Set the operations property: The type of operation. + * + * @param operations the operations value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withOperations(List operations) { + this.operations = operations; + return this; + } + + /** + * Get the level property: The assignment level to which it is applied. + * + * @return the level value. + */ + public String level() { + return this.level; + } + + /** + * Set the level property: The assignment level to which it is applied. + * + * @param level the level value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withLevel(String level) { + this.level = level; + return this; + } + + /** + * Get the targetObjects property: The list of target objects. + * + * @return the targetObjects value. + */ + public List targetObjects() { + return this.targetObjects; + } + + /** + * Set the targetObjects property: The list of target objects. + * + * @param targetObjects the targetObjects value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withTargetObjects(List targetObjects) { + this.targetObjects = targetObjects; + return this; + } + + /** + * Get the inheritableSettings property: The list of inheritable settings. + * + * @return the inheritableSettings value. + */ + public List inheritableSettings() { + return this.inheritableSettings; + } + + /** + * Set the inheritableSettings property: The list of inheritable settings. + * + * @param inheritableSettings the inheritableSettings value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withInheritableSettings(List inheritableSettings) { + this.inheritableSettings = inheritableSettings; + return this; + } + + /** + * Get the enforcedSettings property: The list of enforced settings. + * + * @return the enforcedSettings value. + */ + public List enforcedSettings() { + return this.enforcedSettings; + } + + /** + * Set the enforcedSettings property: The list of enforced settings. + * + * @param enforcedSettings the enforcedSettings value to set. + * @return the RoleManagementPolicyRuleTarget object itself. + */ + public RoleManagementPolicyRuleTarget withEnforcedSettings(List enforcedSettings) { + this.enforcedSettings = enforcedSettings; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleType.java new file mode 100644 index 0000000000000..ba9fcbde6373d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleType.java @@ -0,0 +1,52 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for RoleManagementPolicyRuleType. */ +public final class RoleManagementPolicyRuleType extends ExpandableStringEnum { + /** Static value RoleManagementPolicyApprovalRule for RoleManagementPolicyRuleType. */ + public static final RoleManagementPolicyRuleType ROLE_MANAGEMENT_POLICY_APPROVAL_RULE = + fromString("RoleManagementPolicyApprovalRule"); + + /** Static value RoleManagementPolicyAuthenticationContextRule for RoleManagementPolicyRuleType. */ + public static final RoleManagementPolicyRuleType ROLE_MANAGEMENT_POLICY_AUTHENTICATION_CONTEXT_RULE = + fromString("RoleManagementPolicyAuthenticationContextRule"); + + /** Static value RoleManagementPolicyEnablementRule for RoleManagementPolicyRuleType. */ + public static final RoleManagementPolicyRuleType ROLE_MANAGEMENT_POLICY_ENABLEMENT_RULE = + fromString("RoleManagementPolicyEnablementRule"); + + /** Static value RoleManagementPolicyExpirationRule for RoleManagementPolicyRuleType. */ + public static final RoleManagementPolicyRuleType ROLE_MANAGEMENT_POLICY_EXPIRATION_RULE = + fromString("RoleManagementPolicyExpirationRule"); + + /** Static value RoleManagementPolicyNotificationRule for RoleManagementPolicyRuleType. */ + public static final RoleManagementPolicyRuleType ROLE_MANAGEMENT_POLICY_NOTIFICATION_RULE = + fromString("RoleManagementPolicyNotificationRule"); + + /** + * Creates or finds a RoleManagementPolicyRuleType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RoleManagementPolicyRuleType. + */ + @JsonCreator + public static RoleManagementPolicyRuleType fromString(String name) { + return fromString(name, RoleManagementPolicyRuleType.class); + } + + /** + * Gets known RoleManagementPolicyRuleType values. + * + * @return known RoleManagementPolicyRuleType values. + */ + public static Collection values() { + return values(RoleManagementPolicyRuleType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Status.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Status.java new file mode 100644 index 0000000000000..7ca27b20e2564 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Status.java @@ -0,0 +1,98 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for Status. */ +public final class Status extends ExpandableStringEnum { + /** Static value Accepted for Status. */ + public static final Status ACCEPTED = fromString("Accepted"); + + /** Static value PendingEvaluation for Status. */ + public static final Status PENDING_EVALUATION = fromString("PendingEvaluation"); + + /** Static value Granted for Status. */ + public static final Status GRANTED = fromString("Granted"); + + /** Static value Denied for Status. */ + public static final Status DENIED = fromString("Denied"); + + /** Static value PendingProvisioning for Status. */ + public static final Status PENDING_PROVISIONING = fromString("PendingProvisioning"); + + /** Static value Provisioned for Status. */ + public static final Status PROVISIONED = fromString("Provisioned"); + + /** Static value PendingRevocation for Status. */ + public static final Status PENDING_REVOCATION = fromString("PendingRevocation"); + + /** Static value Revoked for Status. */ + public static final Status REVOKED = fromString("Revoked"); + + /** Static value Canceled for Status. */ + public static final Status CANCELED = fromString("Canceled"); + + /** Static value Failed for Status. */ + public static final Status FAILED = fromString("Failed"); + + /** Static value PendingApprovalProvisioning for Status. */ + public static final Status PENDING_APPROVAL_PROVISIONING = fromString("PendingApprovalProvisioning"); + + /** Static value PendingApproval for Status. */ + public static final Status PENDING_APPROVAL = fromString("PendingApproval"); + + /** Static value FailedAsResourceIsLocked for Status. */ + public static final Status FAILED_AS_RESOURCE_IS_LOCKED = fromString("FailedAsResourceIsLocked"); + + /** Static value PendingAdminDecision for Status. */ + public static final Status PENDING_ADMIN_DECISION = fromString("PendingAdminDecision"); + + /** Static value AdminApproved for Status. */ + public static final Status ADMIN_APPROVED = fromString("AdminApproved"); + + /** Static value AdminDenied for Status. */ + public static final Status ADMIN_DENIED = fromString("AdminDenied"); + + /** Static value TimedOut for Status. */ + public static final Status TIMED_OUT = fromString("TimedOut"); + + /** Static value ProvisioningStarted for Status. */ + public static final Status PROVISIONING_STARTED = fromString("ProvisioningStarted"); + + /** Static value Invalid for Status. */ + public static final Status INVALID = fromString("Invalid"); + + /** Static value PendingScheduleCreation for Status. */ + public static final Status PENDING_SCHEDULE_CREATION = fromString("PendingScheduleCreation"); + + /** Static value ScheduleCreated for Status. */ + public static final Status SCHEDULE_CREATED = fromString("ScheduleCreated"); + + /** Static value PendingExternalProvisioning for Status. */ + public static final Status PENDING_EXTERNAL_PROVISIONING = fromString("PendingExternalProvisioning"); + + /** + * Creates or finds a Status from its string representation. + * + * @param name a name to look for. + * @return the corresponding Status. + */ + @JsonCreator + public static Status fromString(String name) { + return fromString(name, Status.class); + } + + /** + * Gets known Status values. + * + * @return known Status values. + */ + public static Collection values() { + return values(Status.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Type.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Type.java new file mode 100644 index 0000000000000..02512e52b594f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Type.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for Type. */ +public final class Type extends ExpandableStringEnum { + /** Static value AfterDuration for Type. */ + public static final Type AFTER_DURATION = fromString("AfterDuration"); + + /** Static value AfterDateTime for Type. */ + public static final Type AFTER_DATE_TIME = fromString("AfterDateTime"); + + /** Static value NoExpiration for Type. */ + public static final Type NO_EXPIRATION = fromString("NoExpiration"); + + /** + * Creates or finds a Type from its string representation. + * + * @param name a name to look for. + * @return the corresponding Type. + */ + @JsonCreator + public static Type fromString(String name) { + return fromString(name, Type.class); + } + + /** + * Gets known Type values. + * + * @return known Type values. + */ + public static Collection values() { + return values(Type.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserSet.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserSet.java new file mode 100644 index 0000000000000..9cbb150264f09 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserSet.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The detail of a user. */ +@Fluent +public final class UserSet { + /* + * The type of user. + */ + @JsonProperty(value = "userType") + private UserType userType; + + /* + * The value indicating whether the user is a backup fallback approver + */ + @JsonProperty(value = "isBackup") + private Boolean isBackup; + + /* + * The object id of the user. + */ + @JsonProperty(value = "id") + private String id; + + /* + * The description of the user. + */ + @JsonProperty(value = "description") + private String description; + + /** + * Get the userType property: The type of user. + * + * @return the userType value. + */ + public UserType userType() { + return this.userType; + } + + /** + * Set the userType property: The type of user. + * + * @param userType the userType value to set. + * @return the UserSet object itself. + */ + public UserSet withUserType(UserType userType) { + this.userType = userType; + return this; + } + + /** + * Get the isBackup property: The value indicating whether the user is a backup fallback approver. + * + * @return the isBackup value. + */ + public Boolean isBackup() { + return this.isBackup; + } + + /** + * Set the isBackup property: The value indicating whether the user is a backup fallback approver. + * + * @param isBackup the isBackup value to set. + * @return the UserSet object itself. + */ + public UserSet withIsBackup(Boolean isBackup) { + this.isBackup = isBackup; + return this; + } + + /** + * Get the id property: The object id of the user. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: The object id of the user. + * + * @param id the id value to set. + * @return the UserSet object itself. + */ + public UserSet withId(String id) { + this.id = id; + return this; + } + + /** + * Get the description property: The description of the user. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The description of the user. + * + * @param description the description value to set. + * @return the UserSet object itself. + */ + public UserSet withDescription(String description) { + this.description = description; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserType.java new file mode 100644 index 0000000000000..eb2cd6302cd55 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserType.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for UserType. */ +public final class UserType extends ExpandableStringEnum { + /** Static value User for UserType. */ + public static final UserType USER = fromString("User"); + + /** Static value Group for UserType. */ + public static final UserType GROUP = fromString("Group"); + + /** + * Creates or finds a UserType from its string representation. + * + * @param name a name to look for. + * @return the corresponding UserType. + */ + @JsonCreator + public static UserType fromString(String name) { + return fromString(name, UserType.class); + } + + /** + * Gets known UserType values. + * + * @return known UserType values. + */ + public static Collection values() { + return values(UserType.class); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponse.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponse.java new file mode 100644 index 0000000000000..62ddcbb55cf16 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponse.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; + +/** An immutable client-side representation of ValidationResponse. */ +public interface ValidationResponse { + /** + * Gets the isValid property: Whether or not validation succeeded. + * + * @return the isValid value. + */ + Boolean isValid(); + + /** + * Gets the errorInfo property: Failed validation result details. + * + * @return the errorInfo value. + */ + ValidationResponseErrorInfo errorInfo(); + + /** + * Gets the inner com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner object. + * + * @return the inner object. + */ + ValidationResponseInner innerModel(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponseErrorInfo.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponseErrorInfo.java new file mode 100644 index 0000000000000..0cb60fdafa933 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponseErrorInfo.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Failed validation result details. */ +@Immutable +public final class ValidationResponseErrorInfo { + /* + * Error code indicating why validation failed + */ + @JsonProperty(value = "code", access = JsonProperty.Access.WRITE_ONLY) + private String code; + + /* + * Message indicating why validation failed + */ + @JsonProperty(value = "message", access = JsonProperty.Access.WRITE_ONLY) + private String message; + + /** + * Get the code property: Error code indicating why validation failed. + * + * @return the code value. + */ + public String code() { + return this.code; + } + + /** + * Get the message property: Message indicating why validation failed. + * + * @return the message value. + */ + public String message() { + return this.message; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java new file mode 100644 index 0000000000000..42ae26ce4b09c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the data models for AuthorizationManagementClient. Role based access control provides you a way to + * apply granular level policy administration down to individual resources or resource groups. These calls handle + * provider operations. + */ +package com.azure.resourcemanager.authorization.generated.models; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java new file mode 100644 index 0000000000000..01c5242d2be48 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the classes for AuthorizationManagementClient. Role based access control provides you a way to + * apply granular level policy administration down to individual resources or resource groups. These calls handle + * provider operations. + */ +package com.azure.resourcemanager.authorization.generated; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java new file mode 100644 index 0000000000000..ff6e8e09354da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +module com.azure.resourcemanager.authorization.generated { + requires transitive com.azure.core.management; + + exports com.azure.resourcemanager.authorization.generated; + exports com.azure.resourcemanager.authorization.generated.fluent; + exports com.azure.resourcemanager.authorization.generated.fluent.models; + exports com.azure.resourcemanager.authorization.generated.models; + + opens com.azure.resourcemanager.authorization.generated.fluent.models to + com.azure.core, + com.fasterxml.jackson.databind; + opens com.azure.resourcemanager.authorization.generated.models to + com.azure.core, + com.fasterxml.jackson.databind; +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationGetSamples.java new file mode 100644 index 0000000000000..2e8ec9e1977a2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationGetSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewDefaultSettingsOperation Get. */ +public final class AccessReviewDefaultSettingsOperationGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewDefaultSettingsOperations().getWithResponse(Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationPutSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationPutSamples.java new file mode 100644 index 0000000000000..3d01b836c607d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewDefaultSettingsOperationPutSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Samples for AccessReviewDefaultSettingsOperation Put. */ +public final class AccessReviewDefaultSettingsOperationPutSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewDefaultSettingsOperations() + .putWithResponse(new AccessReviewScheduleSettings(), Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceDecisionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceDecisionsListSamples.java new file mode 100644 index 0000000000000..b73383556367b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceDecisionsListSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceDecisions List. */ +public final class AccessReviewInstanceDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceDecisions() + .list("265785a7-a81f-4201-8a18-bb0db95982b7", "f25ed880-9c31-4101-bc57-825d8df3b58c", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java new file mode 100644 index 0000000000000..d45107f9f62fb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsGetByIdSamples.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions GetById. */ +public final class AccessReviewInstanceMyDecisionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java new file mode 100644 index 0000000000000..5ec7356c190a3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsListSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions List. */ +public final class AccessReviewInstanceMyDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java new file mode 100644 index 0000000000000..67abe65bed2d0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceMyDecisionsPatchSamples.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Samples for AccessReviewInstanceMyDecisions Patch. */ +public final class AccessReviewInstanceMyDecisionsPatchSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java new file mode 100644 index 0000000000000..d4212cb3a8347 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationApplyDecisionsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationApplyDecisionsSamples.java new file mode 100644 index 0000000000000..2a3d3b6bb6ae6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationApplyDecisionsSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ApplyDecisions. */ +public final class AccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .applyDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationResetDecisionsSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationResetDecisionsSamples.java new file mode 100644 index 0000000000000..3db0bafdd05c2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationResetDecisionsSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ResetDecisions. */ +public final class AccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .resetDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationSendRemindersSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationSendRemindersSamples.java new file mode 100644 index 0000000000000..ce90302c21b81 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationSendRemindersSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation SendReminders. */ +public final class AccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .sendRemindersWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationStopSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationStopSamples.java new file mode 100644 index 0000000000000..cb6a093bc5819 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationStopSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation Stop. */ +public final class AccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .stopWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java new file mode 100644 index 0000000000000..0669400086f5d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalGetByIdSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */ +public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java new file mode 100644 index 0000000000000..2675a301b146c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesAssignedForMyApprovalListSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval List. */ +public final class AccessReviewInstancesAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "assignedToMeToReview()", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesGetByIdSamples.java new file mode 100644 index 0000000000000..42bb9a9f08083 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesGetByIdSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances GetById. */ +public final class AccessReviewInstancesGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstances() + .getByIdWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesListSamples.java new file mode 100644 index 0000000000000..0c37a3dbb6529 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstancesListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances List. */ +public final class AccessReviewInstancesListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewInstances().list("265785a7-a81f-4201-8a18-bb0db95982b7", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java new file mode 100644 index 0000000000000..1549b3f6e04d6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitionsAssignedForMyApprovals().list("assignedToMeToReview()", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java new file mode 100644 index 0000000000000..9790311cae05d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples.java @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for AccessReviewScheduleDefinitions CreateOrUpdateById. */ +public final class AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().define("fa73e90b-5bf1-45fd-a182-35ce5fc0674d").create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsDeleteByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsDeleteByIdSamples.java new file mode 100644 index 0000000000000..5436f1dc61851 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsDeleteByIdSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions DeleteById. */ +public final class AccessReviewScheduleDefinitionsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .deleteByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsGetByIdSamples.java new file mode 100644 index 0000000000000..e16fe67ebb34e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsGetByIdSamples.java @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions GetById. */ +public final class AccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .getByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsListSamples.java new file mode 100644 index 0000000000000..07d5e5288ea49 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions List. */ +public final class AccessReviewScheduleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviews. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviews( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().list(null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsStopSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsStopSamples.java new file mode 100644 index 0000000000000..b296cd708df7e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsStopSamples.java @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions Stop. */ +public final class AccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-03-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .stopWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetByIdSamples.java new file mode 100644 index 0000000000000..21ddd71ebfdf2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetByIdSamples.java @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments GetById. */ +public final class DenyAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentById.json + */ + /** + * Sample code: Get deny assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getByIdWithResponse( + "subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/denyAssignments/daId", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetSamples.java new file mode 100644 index 0000000000000..c95e2d0c73d42 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsGetSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments Get. */ +public final class DenyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByNameId.json + */ + /** + * Sample code: Get deny assignment by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getWithResponse("subscriptions/subId/resourcegroups/rgname", "denyAssignmentId", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListByResourceGroupSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListByResourceGroupSamples.java new file mode 100644 index 0000000000000..576b3d538e795 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListByResourceGroupSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListByResourceGroup. */ +public final class DenyAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResourceGroup.json + */ + /** + * Sample code: List deny assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listByResourceGroup("rgname", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForResourceSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForResourceSamples.java new file mode 100644 index 0000000000000..68a7c18bd3652 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForResourceSamples.java @@ -0,0 +1,32 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForResource. */ +public final class DenyAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResource.json + */ + /** + * Sample code: List deny assignments for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .listForResource( + "rgname", + "resourceProviderNamespace", + "parentResourcePath", + "resourceType", + "resourceName", + null, + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForScopeSamples.java new file mode 100644 index 0000000000000..2c3e071d306af --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListForScopeSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForScope. */ +public final class DenyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByScope.json + */ + /** + * Sample code: List deny assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listForScope("subscriptions/subId", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListSamples.java new file mode 100644 index 0000000000000..4fb484f92d85d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/DenyAssignmentsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for DenyAssignments List. */ +public final class DenyAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetAllDenyAssignments.json + */ + /** + * Sample code: List deny assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().list(null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/EligibleChildResourcesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/EligibleChildResourcesGetSamples.java new file mode 100644 index 0000000000000..a30440986c4ed --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/EligibleChildResourcesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for EligibleChildResources Get. */ +public final class EligibleChildResourcesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json + */ + /** + * Sample code: GetEligibleChildResourcesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getEligibleChildResourcesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .eligibleChildResources() + .get( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "resourceType eq 'resourcegroup'", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListByResourceGroupSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListByResourceGroupSamples.java new file mode 100644 index 0000000000000..8b8bd3d124d86 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListByResourceGroupSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for Permissions ListByResourceGroup. */ +public final class PermissionsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json + */ + /** + * Sample code: List permissions for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.permissions().listByResourceGroup("rgname", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListForResourceSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListForResourceSamples.java new file mode 100644 index 0000000000000..8761bb3714baf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/PermissionsListForResourceSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for Permissions ListForResource. */ +public final class PermissionsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json + */ + /** + * Sample code: List permissions for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .permissions() + .listForResource( + "rgname", "rpnamespace", "parentResourcePath", "resourceType", "resourceName", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataGetSamples.java new file mode 100644 index 0000000000000..c1837f22fe1df --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataGetSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata Get. */ +public final class ProviderOperationsMetadataGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json + */ + /** + * Sample code: List provider operations metadata for resource provider. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForResourceProvider( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().getWithResponse("resourceProviderNamespace", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataListSamples.java new file mode 100644 index 0000000000000..82c3a05a15a96 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/ProviderOperationsMetadataListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata List. */ +public final class ProviderOperationsMetadataListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json + */ + /** + * Sample code: List provider operations metadata for all resource providers. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForAllResourceProviders( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().list(null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentMetricsGetMetricsForSubscriptionSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentMetricsGetMetricsForSubscriptionSamples.java new file mode 100644 index 0000000000000..79423151a82ac --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentMetricsGetMetricsForSubscriptionSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentMetrics GetMetricsForSubscription. */ +public final class RoleAssignmentMetricsGetMetricsForSubscriptionSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2019-08-01-preview/examples/RoleAssignmentMetrics_GetForSubscription.json + */ + /** + * Sample code: Get role assignment metrics for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentMetricsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignmentMetrics().getMetricsForSubscriptionWithResponse(Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesGetSamples.java new file mode 100644 index 0000000000000..082a9c6164dc3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances Get. */ +public final class RoleAssignmentScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "ed9b8180-cef7-4c77-a63c-b8566ecfc412", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesListForScopeSamples.java new file mode 100644 index 0000000000000..e580e1998fda0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleInstancesListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances ListForScope. */ +public final class RoleAssignmentScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCancelSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCancelSamples.java new file mode 100644 index 0000000000000..0c83a3cf46f2b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCancelSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Cancel. */ +public final class RoleAssignmentScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCreateSamples.java new file mode 100644 index 0000000000000..edd1f9d9701b3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsCreateSamples.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.generated; + +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleAssignmentScheduleRequests Create. */ +public final class RoleAssignmentScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json + */ + /** + * Sample code: PutRoleAssignmentScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleAssignmentScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .define("fea7a502-9a96-4806-a26f-eee560e52045") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.SELF_ACTIVATE) + .withScheduleInfo( + new RoleAssignmentScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:35:27.91Z")) + .withExpiration( + new RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("PT8H"))) + .withLinkedRoleEligibilityScheduleId("b1477448-2cc6-4ceb-93b4-54a202a89413") + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsGetSamples.java new file mode 100644 index 0000000000000..7ef3af73ba6c4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Get. */ +public final class RoleAssignmentScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsListForScopeSamples.java new file mode 100644 index 0000000000000..ad23fb0e8e6c6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentScheduleRequestsListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests ListForScope. */ +public final class RoleAssignmentScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesGetSamples.java new file mode 100644 index 0000000000000..a02d937c2f2f3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules Get. */ +public final class RoleAssignmentSchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "c9e264ff-3133-4776-a81a-ebc7c33c8ec6", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesListForScopeSamples.java new file mode 100644 index 0000000000000..7da7eb8431a2c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentSchedulesListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules ListForScope. */ +public final class RoleAssignmentSchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json + */ + /** + * Sample code: GetRoleAssignmentSchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentSchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateByIdSamples.java new file mode 100644 index 0000000000000..5a7082becca09 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateByIdSamples.java @@ -0,0 +1,34 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments CreateById. */ +public final class RoleAssignmentsCreateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateById.json + */ + /** + * Sample code: Create or update role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createOrUpdateRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .createByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateSamples.java new file mode 100644 index 0000000000000..c25ad7724e55f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsCreateSamples.java @@ -0,0 +1,74 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; + +/** Samples for RoleAssignments Create. */ +public final class RoleAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForSubscription.json + */ + /** + * Sample code: Create role assignment for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForResourceGroup.json + */ + /** + * Sample code: Create role assignment for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_CreateForResource.json + */ + /** + * Sample code: Create role assignment for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteByIdSamples.java new file mode 100644 index 0000000000000..af294af337824 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteByIdSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments DeleteById. */ +public final class RoleAssignmentsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_DeleteById.json + */ + /** + * Sample code: Delete role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteSamples.java new file mode 100644 index 0000000000000..53af64077bbcc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsDeleteSamples.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Delete. */ +public final class RoleAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_Delete.json + */ + /** + * Sample code: Delete role assignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetByIdSamples.java new file mode 100644 index 0000000000000..d06a2e457498c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetByIdSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments GetById. */ +public final class RoleAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_GetById.json + */ + /** + * Sample code: Get role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetSamples.java new file mode 100644 index 0000000000000..ee799cc888a93 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsGetSamples.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Get. */ +public final class RoleAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_Get.json + */ + /** + * Sample code: Get role assignment by scope and name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByScopeAndName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListByResourceGroupSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListByResourceGroupSamples.java new file mode 100644 index 0000000000000..7c975b032e3a2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListByResourceGroupSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListByResourceGroup. */ +public final class RoleAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForResourceGroup.json + */ + /** + * Sample code: List role assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().listByResourceGroup("testrg", null, null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForResourceSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForResourceSamples.java new file mode 100644 index 0000000000000..08869729baa12 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForResourceSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForResource. */ +public final class RoleAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForResource.json + */ + /** + * Sample code: List role assignments for a resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForAResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForResource( + "testrg", "Microsoft.DocumentDb", "databaseAccounts", "test-db-account", null, null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForScopeSamples.java new file mode 100644 index 0000000000000..84ea2019db800 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListForScopeSamples.java @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForScope. */ +public final class RoleAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForScope.json + */ + /** + * Sample code: List role assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", null, null, null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListSamples.java new file mode 100644 index 0000000000000..23cf3563a7689 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleAssignments List. */ +public final class RoleAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ListForSubscription.json + */ + /** + * Sample code: List role assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().list(null, null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateByIdSamples.java new file mode 100644 index 0000000000000..0975c31838de7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateByIdSamples.java @@ -0,0 +1,56 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments ValidateById. */ +public final class RoleAssignmentsValidateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateByIdValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateSamples.java new file mode 100644 index 0000000000000..639c0145ae41c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleAssignmentsValidateSamples.java @@ -0,0 +1,58 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments Validate. */ +public final class RoleAssignmentsValidateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-04-01-preview/examples/RoleAssignments_ValidateValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsCreateOrUpdateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsCreateOrUpdateSamples.java new file mode 100644 index 0000000000000..4814c96796a53 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsCreateOrUpdateSamples.java @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for RoleDefinitions CreateOrUpdate. */ +public final class RoleDefinitionsCreateOrUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json + */ + /** + * Sample code: Create role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().define("roleDefinitionId").withExistingScope("scope").create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsDeleteSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsDeleteSamples.java new file mode 100644 index 0000000000000..d17935405b420 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsDeleteSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Delete. */ +public final class RoleDefinitionsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json + */ + /** + * Sample code: Delete role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().deleteWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetByIdSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetByIdSamples.java new file mode 100644 index 0000000000000..78dac6b619752 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetByIdSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions GetById. */ +public final class RoleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json + */ + /** + * Sample code: Get role definition by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getByIdWithResponse("roleDefinitionId", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetSamples.java new file mode 100644 index 0000000000000..faed25b9c54dc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsGetSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Get. */ +public final class RoleDefinitionsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json + */ + /** + * Sample code: Get role definition by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsListSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsListSamples.java new file mode 100644 index 0000000000000..af40a2c9a8101 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleDefinitionsListSamples.java @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions List. */ +public final class RoleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json + */ + /** + * Sample code: List role definition for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleDefinitionForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().list("scope", null, Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesGetSamples.java new file mode 100644 index 0000000000000..940bda708d2e1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances Get. */ +public final class RoleEligibilityScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "21e4b59a-0499-4fe0-a3c3-43a3055b773a", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesListForScopeSamples.java new file mode 100644 index 0000000000000..0a7049308ea50 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleInstancesListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances ListForScope. */ +public final class RoleEligibilityScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCancelSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCancelSamples.java new file mode 100644 index 0000000000000..a96eb401df992 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCancelSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Cancel. */ +public final class RoleEligibilityScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCreateSamples.java new file mode 100644 index 0000000000000..504b0f8b5fbd4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsCreateSamples.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.generated; + +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleEligibilityScheduleRequests Create. */ +public final class RoleEligibilityScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json + */ + /** + * Sample code: PutRoleEligibilityScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleEligibilityScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .define("64caffb6-55c0-4deb-a585-68e948ea1ad6") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.ADMIN_ASSIGN) + .withScheduleInfo( + new RoleEligibilityScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:31:27.91Z")) + .withExpiration( + new RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("P365D"))) + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsGetSamples.java new file mode 100644 index 0000000000000..4f74ee00b2407 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Get. */ +public final class RoleEligibilityScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsListForScopeSamples.java new file mode 100644 index 0000000000000..1537de29118d5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilityScheduleRequestsListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests ListForScope. */ +public final class RoleEligibilityScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesGetSamples.java new file mode 100644 index 0000000000000..f2073fcdc2581 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules Get. */ +public final class RoleEligibilitySchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "b1477448-2cc6-4ceb-93b4-54a202a89413", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesListForScopeSamples.java new file mode 100644 index 0000000000000..16e1547c8cd3c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleEligibilitySchedulesListForScopeSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules ListForScope. */ +public final class RoleEligibilitySchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json + */ + /** + * Sample code: GetRoleEligibilitySchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilitySchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesDeleteSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesDeleteSamples.java new file mode 100644 index 0000000000000..9ccdaec894cc7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesDeleteSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Delete. */ +public final class RoleManagementPoliciesDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json + */ + /** + * Sample code: DeleteRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesGetSamples.java new file mode 100644 index 0000000000000..68723a6dc10c4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Get. */ +public final class RoleManagementPoliciesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json + */ + /** + * Sample code: GetRoleManagementPolicyByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesListForScopeSamples.java new file mode 100644 index 0000000000000..6c32db264b563 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesListForScopeSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies ListForScope. */ +public final class RoleManagementPoliciesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyByRoleDefinitionFilter. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByRoleDefinitionFilter( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesUpdateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesUpdateSamples.java new file mode 100644 index 0000000000000..3dfe54e25b259 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPoliciesUpdateSamples.java @@ -0,0 +1,304 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.ApprovalMode; +import com.azure.resourcemanager.authorization.generated.models.ApprovalSettings; +import com.azure.resourcemanager.authorization.generated.models.ApprovalStage; +import com.azure.resourcemanager.authorization.generated.models.EnablementRules; +import com.azure.resourcemanager.authorization.generated.models.NotificationDeliveryMechanism; +import com.azure.resourcemanager.authorization.generated.models.NotificationLevel; +import com.azure.resourcemanager.authorization.generated.models.RecipientType; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyApprovalRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAuthenticationContextRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyEnablementRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyExpirationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyNotificationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRuleTarget; +import com.azure.resourcemanager.authorization.generated.models.UserSet; +import com.azure.resourcemanager.authorization.generated.models.UserType; +import java.util.Arrays; + +/** Samples for RoleManagementPolicies Update. */ +public final class RoleManagementPoliciesUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json + */ + /** + * Sample code: PatchPartialRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchPartialRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false))), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json + */ + /** + * Sample code: PatchRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withEnabledRules(Arrays.asList()), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(false) + .withMaximumDuration("P90D"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION)), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(true) + .withMaximumDuration("PT7H"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION, + EnablementRules.TICKETING)), + new RoleManagementPolicyApprovalRule() + .withId("Approval_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withSetting( + new ApprovalSettings() + .withIsApprovalRequired(true) + .withIsApprovalRequiredForExtension(false) + .withIsRequestorJustificationRequired(true) + .withApprovalMode(ApprovalMode.SINGLE_STAGE) + .withApprovalStages( + Arrays + .asList( + new ApprovalStage() + .withApprovalStageTimeOutInDays(1) + .withIsApproverJustificationRequired(true) + .withEscalationTimeInMinutes(0) + .withPrimaryApprovers( + Arrays + .asList( + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd") + .withDescription("amansw_new_group"), + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2f4913c9-d15b-406a-9946-1d66a28f2690") + .withDescription("amansw_group"))) + .withIsEscalationEnabled(false)))), + new RoleManagementPolicyAuthenticationContextRule() + .withId("AuthenticationContext_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsEnabled(false) + .withClaimValue(""), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withIsDefaultRecipientsEnabled(true))), + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsCreateSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsCreateSamples.java new file mode 100644 index 0000000000000..575830f97e6bb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsCreateSamples.java @@ -0,0 +1,30 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +/** Samples for RoleManagementPolicyAssignments Create. */ +public final class RoleManagementPolicyAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json + */ + /** + * Sample code: PutRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .define("b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withScope("/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withRoleDefinitionId( + "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withPolicyId( + "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9") + .create(); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsDeleteSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsDeleteSamples.java new file mode 100644 index 0000000000000..4081eec7b711c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsDeleteSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Delete. */ +public final class RoleManagementPolicyAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json + */ + /** + * Sample code: DeleteRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsGetSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsGetSamples.java new file mode 100644 index 0000000000000..535fa3145f3a0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsGetSamples.java @@ -0,0 +1,28 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Get. */ +public final class RoleManagementPolicyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json + */ + /** + * Sample code: GetConfigurations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getConfigurations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsListForScopeSamples.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsListForScopeSamples.java new file mode 100644 index 0000000000000..d5b15f4a70c13 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/RoleManagementPolicyAssignmentsListForScopeSamples.java @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.generated; + +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments ListForScope. */ +public final class RoleManagementPolicyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyAssignmentByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyAssignmentByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} diff --git a/sdk/authorization/ci.yml b/sdk/authorization/ci.yml new file mode 100644 index 0000000000000..9a2b3b1f06d47 --- /dev/null +++ b/sdk/authorization/ci.yml @@ -0,0 +1,39 @@ +# NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. + +trigger: + branches: + include: + - main + - hotfix/* + - release/* + paths: + include: + - sdk/authorization/ci.yml + - sdk/authorization/azure-resourcemanager-authorization-generated/ + exclude: + - sdk/authorization/pom.xml + - sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - sdk/authorization/ci.yml + - sdk/authorization/azure-resourcemanager-authorization-generated/ + exclude: + - sdk/authorization/pom.xml + - sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml + +extends: + template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml + parameters: + ServiceDirectory: authorization + Artifacts: + - name: azure-resourcemanager-authorization-generated + groupId: com.azure.resourcemanager + safeName: azureresourcemanagerauthorizationgenerated diff --git a/sdk/authorization/pom.xml b/sdk/authorization/pom.xml new file mode 100644 index 0000000000000..2a723be160090 --- /dev/null +++ b/sdk/authorization/pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + com.azure + azure-authorization-service + pom + 1.0.0 + + + + coverage + + + + + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.5 + + + report-aggregate + verify + + report-aggregate + + + ${project.reporting.outputDirectory}/test-coverage + + + + + + + + + default + + true + + + azure-resourcemanager-authorization-generated + + + +