From 5abad1dcdfb0cbc00be44a2dcb4712a9f4122242 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 20 Jan 2022 00:35:11 +0000 Subject: [PATCH] CodeGen from PR 17414 in Azure/azure-rest-api-specs Merge 6137b4cb4415f60d628faa499018bf175890d48a into 06d2de83c3413fd32463e4948db5cd05c0316ec1 --- eng/versioning/version_client.txt | 1 + pom.xml | 1 + .../CHANGELOG.md | 5 + .../README.md | 102 + .../SAMPLE.md | 2429 ++++++++++++++ .../pom.xml | 55 + .../generated/AuthorizationManager.java | 542 ++++ ...ReviewDefaultSettingsOperationsClient.java | 66 + .../AccessReviewInstanceDecisionsClient.java | 41 + ...AccessReviewInstanceMyDecisionsClient.java | 110 + .../AccessReviewInstanceOperationsClient.java | 143 + ...InstancesAssignedForMyApprovalsClient.java | 70 + .../fluent/AccessReviewInstancesClient.java | 67 + ...finitionsAssignedForMyApprovalsClient.java | 39 + ...AccessReviewScheduleDefinitionsClient.java | 140 + .../fluent/AuthorizationManagementClient.java | 208 ++ .../fluent/DenyAssignmentsClient.java | 222 ++ .../fluent/EligibleChildResourcesClient.java | 43 + .../generated/fluent/OperationsClient.java | 36 + .../generated/fluent/PermissionsClient.java | 83 + .../ProviderOperationsMetadatasClient.java | 65 + .../fluent/RoleAssignmentMetricsClient.java | 36 + ...RoleAssignmentScheduleInstancesClient.java | 75 + .../RoleAssignmentScheduleRequestsClient.java | 148 + .../fluent/RoleAssignmentSchedulesClient.java | 73 + .../fluent/RoleAssignmentsClient.java | 428 +++ .../fluent/RoleDefinitionsClient.java | 157 + ...oleEligibilityScheduleInstancesClient.java | 77 + ...RoleEligibilityScheduleRequestsClient.java | 146 + .../RoleEligibilitySchedulesClient.java | 73 + .../fluent/RoleManagementPoliciesClient.java | 124 + ...RoleManagementPolicyAssignmentsClient.java | 134 + .../models/AccessReviewActorIdentity.java | 85 + .../models/AccessReviewDecisionInner.java | 168 + .../AccessReviewDecisionProperties.java | 272 ++ .../models/AccessReviewDecisionTarget.java | 38 + .../AccessReviewDefaultSettingsInner.java | 368 +++ .../models/AccessReviewInstanceInner.java | 100 + .../AccessReviewInstanceProperties.java | 93 + .../models/AccessReviewRecurrencePattern.java | 80 + .../models/AccessReviewRecurrenceRange.java | 138 + .../AccessReviewRecurrenceSettings.java | 207 ++ .../AccessReviewScheduleDefinitionInner.java | 566 ++++ ...essReviewScheduleDefinitionProperties.java | 653 ++++ .../models/AccessReviewScheduleSettings.java | 398 +++ .../fluent/models/AccessReviewScope.java | 70 + .../fluent/models/DenyAssignmentInner.java | 278 ++ .../models/DenyAssignmentProperties.java | 250 ++ .../models/EligibleChildResourceInner.java | 69 + .../fluent/models/OperationInner.java | 132 + .../fluent/models/PermissionInner.java | 129 + .../ProviderOperationsMetadataInner.java | 189 ++ .../fluent/models/RoleAssignmentInner.java | 255 ++ .../RoleAssignmentMetricsResultInner.java | 84 + .../models/RoleAssignmentProperties.java | 302 ++ .../models/RoleAssignmentScheduleInner.java | 469 +++ .../RoleAssignmentScheduleInstanceInner.java | 492 +++ ...eAssignmentScheduleInstanceProperties.java | 487 +++ .../RoleAssignmentScheduleProperties.java | 464 +++ .../RoleAssignmentScheduleRequestInner.java | 425 +++ ...leAssignmentScheduleRequestProperties.java | 469 +++ .../fluent/models/RoleDefinitionInner.java | 203 ++ .../models/RoleDefinitionProperties.java | 158 + .../models/RoleEligibilityScheduleInner.java | 420 +++ .../RoleEligibilityScheduleInstanceInner.java | 395 +++ ...EligibilityScheduleInstanceProperties.java | 377 +++ .../RoleEligibilityScheduleProperties.java | 407 +++ .../RoleEligibilityScheduleRequestInner.java | 401 +++ ...eEligibilityScheduleRequestProperties.java | 443 +++ .../RoleManagementPolicyAssignmentInner.java | 166 + ...eManagementPolicyAssignmentProperties.java | 121 + .../models/RoleManagementPolicyInner.java | 243 ++ .../RoleManagementPolicyProperties.java | 231 ++ .../models/ValidationResponseInner.java | 69 + .../generated/fluent/models/package-info.java | 9 + .../generated/fluent/package-info.java | 9 + .../AccessReviewDecisionImpl.java | 86 + .../AccessReviewDefaultSettingsImpl.java | 96 + ...ewDefaultSettingsOperationsClientImpl.java | 335 ++ ...ssReviewDefaultSettingsOperationsImpl.java | 84 + ...cessReviewInstanceDecisionsClientImpl.java | 344 ++ .../AccessReviewInstanceDecisionsImpl.java | 47 + .../AccessReviewInstanceImpl.java | 55 + ...ssReviewInstanceMyDecisionsClientImpl.java | 672 ++++ .../AccessReviewInstanceMyDecisionsImpl.java | 103 + ...essReviewInstanceOperationsClientImpl.java | 809 +++++ .../AccessReviewInstanceOperationsImpl.java | 75 + ...ancesAssignedForMyApprovalsClientImpl.java | 441 +++ ...ewInstancesAssignedForMyApprovalsImpl.java | 74 + .../AccessReviewInstancesClientImpl.java | 489 +++ .../AccessReviewInstancesImpl.java | 72 + .../AccessReviewScheduleDefinitionImpl.java | 451 +++ ...tionsAssignedForMyApprovalsClientImpl.java | 285 ++ ...DefinitionsAssignedForMyApprovalsImpl.java | 50 + ...ssReviewScheduleDefinitionsClientImpl.java | 903 ++++++ .../AccessReviewScheduleDefinitionsImpl.java | 92 + .../AuthorizationManagementClientBuilder.java | 146 + .../AuthorizationManagementClientImpl.java | 606 ++++ .../implementation/DenyAssignmentImpl.java | 92 + .../DenyAssignmentsClientImpl.java | 1710 ++++++++++ .../implementation/DenyAssignmentsImpl.java | 150 + .../EligibleChildResourceImpl.java | 41 + .../EligibleChildResourcesClientImpl.java | 329 ++ .../EligibleChildResourcesImpl.java | 47 + .../implementation/OperationImpl.java | 46 + .../implementation/OperationsClientImpl.java | 274 ++ .../implementation/OperationsImpl.java | 47 + .../implementation/PermissionImpl.java | 67 + .../implementation/PermissionsClientImpl.java | 701 +++++ .../implementation/PermissionsImpl.java | 81 + .../ProviderOperationsMetadataImpl.java | 67 + ...ProviderOperationsMetadatasClientImpl.java | 460 +++ .../ProviderOperationsMetadatasImpl.java | 73 + .../implementation/RoleAssignmentImpl.java | 200 ++ .../RoleAssignmentMetricsClientImpl.java | 181 ++ .../RoleAssignmentMetricsImpl.java | 61 + .../RoleAssignmentMetricsResultImpl.java | 45 + .../RoleAssignmentScheduleImpl.java | 111 + .../RoleAssignmentScheduleInstanceImpl.java | 115 + ...AssignmentScheduleInstancesClientImpl.java | 502 +++ .../RoleAssignmentScheduleInstancesImpl.java | 74 + .../RoleAssignmentScheduleRequestImpl.java | 248 ++ ...eAssignmentScheduleRequestsClientImpl.java | 859 +++++ .../RoleAssignmentScheduleRequestsImpl.java | 154 + .../RoleAssignmentSchedulesClientImpl.java | 481 +++ .../RoleAssignmentSchedulesImpl.java | 73 + .../RoleAssignmentsClientImpl.java | 2786 +++++++++++++++++ .../implementation/RoleAssignmentsImpl.java | 276 ++ .../implementation/RoleDefinitionImpl.java | 199 ++ .../RoleDefinitionsClientImpl.java | 879 ++++++ .../implementation/RoleDefinitionsImpl.java | 173 + .../RoleEligibilityScheduleImpl.java | 102 + .../RoleEligibilityScheduleInstanceImpl.java | 98 + ...ligibilityScheduleInstancesClientImpl.java | 504 +++ .../RoleEligibilityScheduleInstancesImpl.java | 75 + .../RoleEligibilityScheduleRequestImpl.java | 239 ++ ...EligibilityScheduleRequestsClientImpl.java | 855 +++++ .../RoleEligibilityScheduleRequestsImpl.java | 154 + .../RoleEligibilitySchedulesClientImpl.java | 482 +++ .../RoleEligibilitySchedulesImpl.java | 73 + .../RoleManagementPoliciesClientImpl.java | 730 +++++ .../RoleManagementPoliciesImpl.java | 106 + .../RoleManagementPolicyAssignmentImpl.java | 131 + ...ManagementPolicyAssignmentsClientImpl.java | 789 +++++ .../RoleManagementPolicyAssignmentsImpl.java | 221 ++ .../RoleManagementPolicyImpl.java | 93 + .../generated/implementation/Utils.java | 204 ++ .../ValidationResponseImpl.java | 38 + .../implementation/package-info.java | 9 + .../models/AccessRecommendationType.java | 37 + .../models/AccessReviewActorIdentityType.java | 34 + .../models/AccessReviewApplyResult.java | 47 + .../models/AccessReviewDecision.java | 110 + .../AccessReviewDecisionListResult.java | 81 + .../models/AccessReviewDefaultSettings.java | 142 + ...AccessReviewDefaultSettingsOperations.java | 55 + .../models/AccessReviewInstance.java | 60 + .../models/AccessReviewInstanceDecisions.java | 36 + .../AccessReviewInstanceListResult.java | 81 + .../AccessReviewInstanceMyDecisions.java | 101 + .../AccessReviewInstanceOperations.java | 131 + .../models/AccessReviewInstanceStatus.java | 61 + .../models/AccessReviewInstances.java | 60 + ...ReviewInstancesAssignedForMyApprovals.java | 60 + .../AccessReviewRecurrencePatternType.java | 34 + .../AccessReviewRecurrenceRangeType.java | 37 + .../generated/models/AccessReviewResult.java | 43 + .../models/AccessReviewReviewer.java | 65 + .../models/AccessReviewReviewerType.java | 34 + .../AccessReviewScheduleDefinition.java | 786 +++++ ...essReviewScheduleDefinitionListResult.java | 81 + ...ReviewScheduleDefinitionReviewersType.java | 38 + .../AccessReviewScheduleDefinitionStatus.java | 62 + .../AccessReviewScheduleDefinitions.java | 107 + ...duleDefinitionsAssignedForMyApprovals.java | 31 + .../AccessReviewScopePrincipalType.java | 34 + .../generated/models/ApprovalMode.java | 40 + .../generated/models/ApprovalSettings.java | 158 + .../generated/models/ApprovalStage.java | 193 ++ .../generated/models/AssignmentType.java | 34 + .../generated/models/DecisionTargetType.java | 34 + .../generated/models/DefaultDecisionType.java | 37 + .../generated/models/DenyAssignment.java | 97 + .../models/DenyAssignmentListResult.java | 81 + .../models/DenyAssignmentPermission.java | 130 + .../generated/models/DenyAssignments.java | 207 ++ .../models/EligibleChildResource.java | 38 + .../models/EligibleChildResources.java | 38 + .../EligibleChildResourcesListResult.java | 81 + .../generated/models/EnablementRules.java | 37 + .../generated/models/ExpandedProperties.java | 111 + .../models/ExpandedPropertiesPrincipal.java | 128 + .../ExpandedPropertiesRoleDefinition.java | 102 + .../models/ExpandedPropertiesScope.java | 102 + .../generated/models/MemberType.java | 37 + .../models/NotificationDeliveryMechanism.java | 31 + .../generated/models/NotificationLevel.java | 37 + .../generated/models/Operation.java | 45 + .../generated/models/OperationDisplay.java | 84 + .../generated/models/OperationListResult.java | 81 + .../generated/models/Operations.java | 31 + .../generated/models/Permission.java | 46 + .../generated/models/PermissionGetResult.java | 81 + .../generated/models/Permissions.java | 76 + .../models/PolicyAssignmentProperties.java | 111 + .../PolicyAssignmentPropertiesPolicy.java | 95 + ...icyAssignmentPropertiesRoleDefinition.java | 102 + .../PolicyAssignmentPropertiesScope.java | 102 + .../generated/models/PolicyProperties.java | 42 + .../models/PolicyPropertiesScope.java | 102 + .../generated/models/Principal.java | 128 + .../generated/models/PrincipalType.java | 43 + .../generated/models/ProviderOperation.java | 180 ++ .../models/ProviderOperationsMetadata.java | 61 + .../ProviderOperationsMetadataListResult.java | 81 + .../models/ProviderOperationsMetadatas.java | 58 + .../generated/models/RecipientType.java | 37 + .../generated/models/RequestType.java | 55 + .../generated/models/ResourceType.java | 106 + .../generated/models/RoleAssignment.java | 291 ++ .../RoleAssignmentCreateParameters.java | 260 ++ .../models/RoleAssignmentListResult.java | 70 + .../models/RoleAssignmentMetrics.java | 31 + .../models/RoleAssignmentMetricsResult.java | 46 + .../models/RoleAssignmentSchedule.java | 156 + .../RoleAssignmentScheduleInstance.java | 162 + ...eAssignmentScheduleInstanceListResult.java | 81 + .../RoleAssignmentScheduleInstances.java | 68 + .../RoleAssignmentScheduleListResult.java | 81 + .../models/RoleAssignmentScheduleRequest.java | 391 +++ ...leAssignmentScheduleRequestListResult.java | 81 + ...ScheduleRequestPropertiesScheduleInfo.java | 82 + ...questPropertiesScheduleInfoExpiration.java | 105 + ...ntScheduleRequestPropertiesTicketInfo.java | 77 + .../RoleAssignmentScheduleRequests.java | 122 + .../models/RoleAssignmentSchedules.java | 65 + .../generated/models/RoleAssignments.java | 371 +++ .../generated/models/RoleDefinition.java | 267 ++ .../models/RoleDefinitionListResult.java | 81 + .../generated/models/RoleDefinitions.java | 147 + .../models/RoleEligibilitySchedule.java | 141 + .../RoleEligibilityScheduleInstance.java | 133 + ...EligibilityScheduleInstanceListResult.java | 81 + .../RoleEligibilityScheduleInstances.java | 68 + .../RoleEligibilityScheduleListResult.java | 81 + .../RoleEligibilityScheduleRequest.java | 369 +++ ...eEligibilityScheduleRequestListResult.java | 81 + ...ScheduleRequestPropertiesScheduleInfo.java | 82 + ...questPropertiesScheduleInfoExpiration.java | 105 + ...tyScheduleRequestPropertiesTicketInfo.java | 77 + .../RoleEligibilityScheduleRequests.java | 122 + .../models/RoleEligibilitySchedules.java | 66 + .../models/RoleManagementPolicies.java | 113 + .../models/RoleManagementPolicy.java | 103 + .../RoleManagementPolicyApprovalRule.java | 73 + .../RoleManagementPolicyAssignment.java | 153 + ...eManagementPolicyAssignmentListResult.java | 81 + .../RoleManagementPolicyAssignments.java | 142 + ...gementPolicyAuthenticationContextRule.java | 97 + .../RoleManagementPolicyEnablementRule.java | 71 + .../RoleManagementPolicyExpirationRule.java | 96 + .../RoleManagementPolicyListResult.java | 81 + .../RoleManagementPolicyNotificationRule.java | 178 ++ .../models/RoleManagementPolicyRule.java | 99 + .../RoleManagementPolicyRuleTarget.java | 181 ++ .../models/RoleManagementPolicyRuleType.java | 48 + .../ServicePrincipalDecisionTarget.java | 76 + .../generated/models/Status.java | 94 + .../authorization/generated/models/Type.java | 37 + .../generated/models/UserDecisionTarget.java | 76 + .../generated/models/UserSet.java | 128 + .../generated/models/UserType.java | 34 + .../generated/models/ValidationResponse.java | 31 + .../models/ValidationResponseErrorInfo.java | 54 + .../generated/models/package-info.java | 9 + .../authorization/generated/package-info.java | 9 + .../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 | 26 + ...nstanceOperationApplyDecisionsSamples.java | 26 + ...nstanceOperationResetDecisionsSamples.java | 26 + ...InstanceOperationSendRemindersSamples.java | 26 + ...essReviewInstanceOperationStopSamples.java | 26 + ...esAssignedForMyApprovalGetByIdSamples.java | 26 + ...ancesAssignedForMyApprovalListSamples.java | 25 + .../AccessReviewInstancesGetByIdSamples.java | 26 + .../AccessReviewInstancesListSamples.java | 23 + ...tionsAssignedForMyApprovalListSamples.java | 23 + ...eDefinitionsCreateOrUpdateByIdSamples.java | 20 + ...wScheduleDefinitionsDeleteByIdSamples.java | 25 + ...viewScheduleDefinitionsGetByIdSamples.java | 25 + ...sReviewScheduleDefinitionsListSamples.java | 23 + ...sReviewScheduleDefinitionsStopSamples.java | 25 + .../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 + 353 files changed, 55063 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/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/AccessReviewDecisionTarget.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/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/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/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/ServicePrincipalDecisionTarget.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/UserDecisionTarget.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 4cb4825d3a579..21f24b95b39e3 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -331,6 +331,7 @@ com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta com.azure.resourcemanager:azure-resourcemanager-loadtestservice;1.0.0-beta.1;1.0.0-beta.2 com.azure.resourcemanager:azure-resourcemanager-automanage;1.0.0-beta.1;1.0.0-beta.1 com.azure.resourcemanager:azure-resourcemanager-edgeorder;1.0.0-beta.1;1.0.0-beta.2 +com.azure.resourcemanager:azure-resourcemanager-authorization-generated;1.0.0-beta.1;1.0.0-beta.1 com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0 # Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current diff --git a/pom.xml b/pom.xml index 9cb3ad482fa80..fb3149743648a 100644 --- a/pom.xml +++ b/pom.xml @@ -720,6 +720,7 @@ sdk/appconfiguration 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..0f6651e9100a5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/CHANGELOG.md @@ -0,0 +1,5 @@ +# Release History + +## 1.0.0-beta.1 (2022-01-20) + +- Azure Resource Manager Authorization client library for Java. This package contains Microsoft Azure SDK for Authorization Management SDK. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2020-10-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/README.md b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md new file mode 100644 index 0000000000000..9715f919dbd6f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/README.md @@ -0,0 +1,102 @@ +# Azure Resource Manager Authorization client library for Java + +Azure Resource Manager Authorization client library for Java. + +This package contains Microsoft Azure SDK for Authorization Management SDK. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2020-10-01-preview. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt). + +## We'd love to hear your feedback + +We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better. + +If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together. + +Thank you in advance for your collaboration. We really appreciate your time! + +## Documentation + +Various documentation is available to help you get started + +- [API reference documentation][docs] + +## Getting started + +### Prerequisites + +- [Java Development Kit (JDK)][jdk] with version 8 or above +- [Azure Subscription][azure_subscription] + +### Adding the package to your product + +[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-authorization-generated;current}) +```xml + + com.azure.resourcemanager + azure-resourcemanager-authorization-generated + 1.0.0-beta.1 + +``` +[//]: # ({x-version-update-end}) + +### Include the recommended packages + +Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client. + +[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation. + +### Authentication + +By default, Azure Active Directory token authentication depends on correct configure of following environment variables. + +- `AZURE_CLIENT_ID` for Azure client ID. +- `AZURE_TENANT_ID` for Azure tenant ID. +- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate. + +In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`. + +With above configuration, `azure` client can be authenticated by following code: + +```java +AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE); +TokenCredential credential = new DefaultAzureCredentialBuilder() + .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint()) + .build(); +AuthorizationManager manager = AuthorizationManager + .authenticate(credential, profile); +``` + +The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise. + +See [Authentication][authenticate] for more options. + +## Key concepts + +See [API design][design] for general introduction on design and key concepts on Azure Management Libraries. + +## Examples + +[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md) + + +## Troubleshooting + +## Next steps + +## Contributing + +For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md). + +1. Fork it +1. Create your feature branch (`git checkout -b my-new-feature`) +1. Commit your changes (`git commit -am 'Add some feature'`) +1. Push to the branch (`git push origin my-new-feature`) +1. Create new Pull Request + + +[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS +[docs]: https://azure.github.io/azure-sdk-for-java/ +[jdk]: https://docs.microsoft.com/java/azure/jdk/ +[azure_subscription]: https://azure.microsoft.com/free/ +[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity +[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty +[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md +[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md new file mode 100644 index 0000000000000..499dc910715db --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/SAMPLE.md @@ -0,0 +1,2429 @@ +# Code snippets and samples + + +## AccessReviewDefaultSettingsOperation + +- [Get](#accessreviewdefaultsettingsoperation_get) +- [Put](#accessreviewdefaultsettingsoperation_put) + +## AccessReviewInstanceDecisions + +- [List](#accessreviewinstancedecisions_list) + +## AccessReviewInstanceMyDecisions + +- [GetById](#accessreviewinstancemydecisions_getbyid) +- [List](#accessreviewinstancemydecisions_list) +- [Patch](#accessreviewinstancemydecisions_patch) + +## AccessReviewInstanceOperation + +- [AcceptRecommendations](#accessreviewinstanceoperation_acceptrecommendations) +- [ApplyDecisions](#accessreviewinstanceoperation_applydecisions) +- [ResetDecisions](#accessreviewinstanceoperation_resetdecisions) +- [SendReminders](#accessreviewinstanceoperation_sendreminders) +- [Stop](#accessreviewinstanceoperation_stop) + +## AccessReviewInstances + +- [GetById](#accessreviewinstances_getbyid) +- [List](#accessreviewinstances_list) + +## AccessReviewInstancesAssignedForMyApproval + +- [GetById](#accessreviewinstancesassignedformyapproval_getbyid) +- [List](#accessreviewinstancesassignedformyapproval_list) + +## AccessReviewScheduleDefinitions + +- [CreateOrUpdateById](#accessreviewscheduledefinitions_createorupdatebyid) +- [DeleteById](#accessreviewscheduledefinitions_deletebyid) +- [GetById](#accessreviewscheduledefinitions_getbyid) +- [List](#accessreviewscheduledefinitions_list) +- [Stop](#accessreviewscheduledefinitions_stop) + +## AccessReviewScheduleDefinitionsAssignedForMyApproval + +- [List](#accessreviewscheduledefinitionsassignedformyapproval_list) + +## DenyAssignments + +- [Get](#denyassignments_get) +- [GetById](#denyassignments_getbyid) +- [List](#denyassignments_list) +- [ListByResourceGroup](#denyassignments_listbyresourcegroup) +- [ListForResource](#denyassignments_listforresource) +- [ListForScope](#denyassignments_listforscope) + +## EligibleChildResources + +- [Get](#eligiblechildresources_get) + +## Permissions + +- [ListByResourceGroup](#permissions_listbyresourcegroup) +- [ListForResource](#permissions_listforresource) + +## ProviderOperationsMetadata + +- [Get](#provideroperationsmetadata_get) +- [List](#provideroperationsmetadata_list) + +## RoleAssignmentMetrics + +- [GetMetricsForSubscription](#roleassignmentmetrics_getmetricsforsubscription) + +## RoleAssignmentScheduleInstances + +- [Get](#roleassignmentscheduleinstances_get) +- [ListForScope](#roleassignmentscheduleinstances_listforscope) + +## RoleAssignmentScheduleRequests + +- [Cancel](#roleassignmentschedulerequests_cancel) +- [Create](#roleassignmentschedulerequests_create) +- [Get](#roleassignmentschedulerequests_get) +- [ListForScope](#roleassignmentschedulerequests_listforscope) + +## RoleAssignmentSchedules + +- [Get](#roleassignmentschedules_get) +- [ListForScope](#roleassignmentschedules_listforscope) + +## RoleAssignments + +- [Create](#roleassignments_create) +- [CreateById](#roleassignments_createbyid) +- [Delete](#roleassignments_delete) +- [DeleteById](#roleassignments_deletebyid) +- [Get](#roleassignments_get) +- [GetById](#roleassignments_getbyid) +- [List](#roleassignments_list) +- [ListByResourceGroup](#roleassignments_listbyresourcegroup) +- [ListForResource](#roleassignments_listforresource) +- [ListForScope](#roleassignments_listforscope) +- [Validate](#roleassignments_validate) +- [ValidateById](#roleassignments_validatebyid) + +## RoleDefinitions + +- [CreateOrUpdate](#roledefinitions_createorupdate) +- [Delete](#roledefinitions_delete) +- [Get](#roledefinitions_get) +- [GetById](#roledefinitions_getbyid) +- [List](#roledefinitions_list) + +## RoleEligibilityScheduleInstances + +- [Get](#roleeligibilityscheduleinstances_get) +- [ListForScope](#roleeligibilityscheduleinstances_listforscope) + +## RoleEligibilityScheduleRequests + +- [Cancel](#roleeligibilityschedulerequests_cancel) +- [Create](#roleeligibilityschedulerequests_create) +- [Get](#roleeligibilityschedulerequests_get) +- [ListForScope](#roleeligibilityschedulerequests_listforscope) + +## RoleEligibilitySchedules + +- [Get](#roleeligibilityschedules_get) +- [ListForScope](#roleeligibilityschedules_listforscope) + +## RoleManagementPolicies + +- [Delete](#rolemanagementpolicies_delete) +- [Get](#rolemanagementpolicies_get) +- [ListForScope](#rolemanagementpolicies_listforscope) +- [Update](#rolemanagementpolicies_update) + +## RoleManagementPolicyAssignments + +- [Create](#rolemanagementpolicyassignments_create) +- [Delete](#rolemanagementpolicyassignments_delete) +- [Get](#rolemanagementpolicyassignments_get) +- [ListForScope](#rolemanagementpolicyassignments_listforscope) +### AccessReviewDefaultSettingsOperation_Get + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewDefaultSettingsOperation Get. */ +public final class AccessReviewDefaultSettingsOperationGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewDefaultSettingsOperations().getWithResponse(Context.NONE); + } +} +``` + +### AccessReviewDefaultSettingsOperation_Put + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; + +/** Samples for AccessReviewDefaultSettingsOperation Put. */ +public final class AccessReviewDefaultSettingsOperationPutSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: PutAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewDefaultSettingsOperations() + .putWithResponse(new AccessReviewScheduleSettings(), Context.NONE); + } +} +``` + +### AccessReviewInstanceDecisions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceDecisions List. */ +public final class AccessReviewInstanceDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviewInstanceDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceDecisions() + .list("265785a7-a81f-4201-8a18-bb0db95982b7", "f25ed880-9c31-4101-bc57-825d8df3b58c", Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions GetById. */ +public final class AccessReviewInstanceMyDecisionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviewInstanceMyDecisionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceMyDecisionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceMyDecisions List. */ +public final class AccessReviewInstanceMyDecisionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviewInstanceMyDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceMyDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} +``` + +### AccessReviewInstanceMyDecisions_Patch + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** Samples for AccessReviewInstanceMyDecisions Patch. */ +public final class AccessReviewInstanceMyDecisionsPatchSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: PatchAccessReviewInstanceMyDecisionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchAccessReviewInstanceMyDecisionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_AcceptRecommendations + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: AccessReviewInstanceAcceptRecommendations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceAcceptRecommendations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_ApplyDecisions + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ApplyDecisions. */ +public final class AccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: AccessReviewInstanceApplyDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceApplyDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .applyDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_ResetDecisions + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation ResetDecisions. */ +public final class AccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: AccessReviewInstanceResetDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceResetDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .resetDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_SendReminders + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation SendReminders. */ +public final class AccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: AccessReviewInstanceSendReminders. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceSendReminders( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .sendRemindersWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstanceOperation_Stop + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstanceOperation Stop. */ +public final class AccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: StopAccessReviewInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void stopAccessReviewInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .stopWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} +``` + +### AccessReviewInstances_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances GetById. */ +public final class AccessReviewInstancesGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviewInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstances() + .getByIdWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} +``` + +### AccessReviewInstances_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstances List. */ +public final class AccessReviewInstancesListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviewInstances. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstances( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewInstances().list("265785a7-a81f-4201-8a18-bb0db95982b7", Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval GetById. */ +public final class AccessReviewInstancesAssignedForMyApprovalGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewInstanceAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} +``` + +### AccessReviewInstancesAssignedForMyApproval_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewInstancesAssignedForMyApproval List. */ +public final class AccessReviewInstancesAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewInstancesAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstancesAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_CreateOrUpdateById + +```java +/** Samples for AccessReviewScheduleDefinitions CreateOrUpdateById. */ +public final class AccessReviewScheduleDefinitionsCreateOrUpdateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().define("fa73e90b-5bf1-45fd-a182-35ce5fc0674d").create(); + } +} +``` + +### AccessReviewScheduleDefinitions_DeleteById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions DeleteById. */ +public final class AccessReviewScheduleDefinitionsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .deleteByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions GetById. */ +public final class AccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .getByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions List. */ +public final class AccessReviewScheduleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().list(Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitions_Stop + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitions Stop. */ +public final class AccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: StopAccessReviewScheduleDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void stopAccessReviewScheduleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .stopWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} +``` + +### AccessReviewScheduleDefinitionsAssignedForMyApproval_List + +```java +import com.azure.core.util.Context; + +/** Samples for AccessReviewScheduleDefinitionsAssignedForMyApproval List. */ +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinitionsAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinitionsAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitionsAssignedForMyApprovals().list(Context.NONE); + } +} +``` + +### DenyAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments Get. */ +public final class DenyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByNameId.json + */ + /** + * Sample code: Get deny assignment by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getWithResponse("subscriptions/subId/resourcegroups/rgname", "denyAssignmentId", Context.NONE); + } +} +``` + +### DenyAssignments_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments GetById. */ +public final class DenyAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentById.json + */ + /** + * Sample code: Get deny assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getDenyAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .getByIdWithResponse( + "subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/denyAssignments/daId", + Context.NONE); + } +} +``` + +### DenyAssignments_List + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments List. */ +public final class DenyAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetAllDenyAssignments.json + */ + /** + * Sample code: List deny assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().list(null, Context.NONE); + } +} +``` + +### DenyAssignments_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListByResourceGroup. */ +public final class DenyAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResourceGroup.json + */ + /** + * Sample code: List deny assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listByResourceGroup("rgname", null, Context.NONE); + } +} +``` + +### DenyAssignments_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForResource. */ +public final class DenyAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentsForResource.json + */ + /** + * Sample code: List deny assignments for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .denyAssignments() + .listForResource( + "rgname", + "resourceProviderNamespace", + "parentResourcePath", + "resourceType", + "resourceName", + null, + Context.NONE); + } +} +``` + +### DenyAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for DenyAssignments ListForScope. */ +public final class DenyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/examples/GetDenyAssignmentByScope.json + */ + /** + * Sample code: List deny assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listDenyAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.denyAssignments().listForScope("subscriptions/subId", null, Context.NONE); + } +} +``` + +### EligibleChildResources_Get + +```java +import com.azure.core.util.Context; + +/** Samples for EligibleChildResources Get. */ +public final class EligibleChildResourcesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetEligibleChildResourcesByScope.json + */ + /** + * Sample code: GetEligibleChildResourcesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getEligibleChildResourcesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .eligibleChildResources() + .get( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "resourceType eq 'resourcegroup'", + Context.NONE); + } +} +``` + +### Permissions_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for Permissions ListByResourceGroup. */ +public final class PermissionsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetPermissions.json + */ + /** + * Sample code: List permissions for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.permissions().listByResourceGroup("rgname", Context.NONE); + } +} +``` + +### Permissions_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for Permissions ListForResource. */ +public final class PermissionsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetResourcePermissions.json + */ + /** + * Sample code: List permissions for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listPermissionsForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .permissions() + .listForResource( + "rgname", "rpnamespace", "parentResourcePath", "resourceType", "resourceName", Context.NONE); + } +} +``` + +### ProviderOperationsMetadata_Get + +```java +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata Get. */ +public final class ProviderOperationsMetadataGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetProviderOperationsRP.json + */ + /** + * Sample code: List provider operations metadata for resource provider. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForResourceProvider( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().getWithResponse("resourceProviderNamespace", null, Context.NONE); + } +} +``` + +### ProviderOperationsMetadata_List + +```java +import com.azure.core.util.Context; + +/** Samples for ProviderOperationsMetadata List. */ +public final class ProviderOperationsMetadataListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetAllProviderOperations.json + */ + /** + * Sample code: List provider operations metadata for all resource providers. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listProviderOperationsMetadataForAllResourceProviders( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.providerOperationsMetadatas().list(null, Context.NONE); + } +} +``` + +### RoleAssignmentMetrics_GetMetricsForSubscription + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentMetrics GetMetricsForSubscription. */ +public final class RoleAssignmentMetricsGetMetricsForSubscriptionSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2019-08-01-preview/examples/RoleAssignmentMetrics_GetForSubscription.json + */ + /** + * Sample code: Get role assignment metrics for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentMetricsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignmentMetrics().getMetricsForSubscriptionWithResponse(Context.NONE); + } +} +``` + +### RoleAssignmentScheduleInstances_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances Get. */ +public final class RoleAssignmentScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "ed9b8180-cef7-4c77-a63c-b8566ecfc412", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleInstances_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleInstances ListForScope. */ +public final class RoleAssignmentScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_Cancel + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Cancel. */ +public final class RoleAssignmentScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleAssignmentScheduleRequests Create. */ +public final class RoleAssignmentScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleAssignmentScheduleRequest.json + */ + /** + * Sample code: PutRoleAssignmentScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleAssignmentScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .define("fea7a502-9a96-4806-a26f-eee560e52045") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.SELF_ACTIVATE) + .withScheduleInfo( + new RoleAssignmentScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:35:27.91Z")) + .withExpiration( + new RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("PT8H"))) + .withLinkedRoleEligibilityScheduleId("b1477448-2cc6-4ceb-93b4-54a202a89413") + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} +``` + +### RoleAssignmentScheduleRequests_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests Get. */ +public final class RoleAssignmentScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "fea7a502-9a96-4806-a26f-eee560e52045", + Context.NONE); + } +} +``` + +### RoleAssignmentScheduleRequests_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentScheduleRequests ListForScope. */ +public final class RoleAssignmentScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleAssignmentScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} +``` + +### RoleAssignmentSchedules_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules Get. */ +public final class RoleAssignmentSchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentScheduleByName.json + */ + /** + * Sample code: GetRoleAssignmentScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "c9e264ff-3133-4776-a81a-ebc7c33c8ec6", + Context.NONE); + } +} +``` + +### RoleAssignmentSchedules_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignmentSchedules ListForScope. */ +public final class RoleAssignmentSchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleAssignmentSchedulesByScope.json + */ + /** + * Sample code: GetRoleAssignmentSchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentSchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignmentSchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleAssignments_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; + +/** Samples for RoleAssignments Create. */ +public final class RoleAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json + */ + /** + * Sample code: Create role assignment for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json + */ + /** + * Sample code: Create role assignment for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json + */ + /** + * Sample code: Create role assignment for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } +} +``` + +### RoleAssignments_CreateById + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments CreateById. */ +public final class RoleAssignmentsCreateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateById.json + */ + /** + * Sample code: Create or update role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createOrUpdateRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .createByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleAssignments_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Delete. */ +public final class RoleAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Delete.json + */ + /** + * Sample code: Delete role assignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_DeleteById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments DeleteById. */ +public final class RoleAssignmentsDeleteByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_DeleteById.json + */ + /** + * Sample code: Delete role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments Get. */ +public final class RoleAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_Get.json + */ + /** + * Sample code: Get role assignment by scope and name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByScopeAndName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments GetById. */ +public final class RoleAssignmentsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_GetById.json + */ + /** + * Sample code: Get role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} +``` + +### RoleAssignments_List + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments List. */ +public final class RoleAssignmentsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json + */ + /** + * Sample code: List role assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().list(null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListByResourceGroup + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListByResourceGroup. */ +public final class RoleAssignmentsListByResourceGroupSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json + */ + /** + * Sample code: List role assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().listByResourceGroup("testrg", null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListForResource + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForResource. */ +public final class RoleAssignmentsListForResourceSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForResource.json + */ + /** + * Sample code: List role assignments for a resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForAResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForResource( + "testrg", "Microsoft.DocumentDb", "databaseAccounts", "test-db-account", null, null, Context.NONE); + } +} +``` + +### RoleAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleAssignments ListForScope. */ +public final class RoleAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ListForScope.json + */ + /** + * Sample code: List role assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", null, null, Context.NONE); + } +} +``` + +### RoleAssignments_Validate + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments Validate. */ +public final class RoleAssignmentsValidateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleAssignments_ValidateById + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** Samples for RoleAssignments ValidateById. */ +public final class RoleAssignmentsValidateByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} +``` + +### RoleDefinitions_CreateOrUpdate + +```java +/** Samples for RoleDefinitions CreateOrUpdate. */ +public final class RoleDefinitionsCreateOrUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/PutRoleDefinition.json + */ + /** + * Sample code: Create role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().define("roleDefinitionId").withExistingScope("scope").create(); + } +} +``` + +### RoleDefinitions_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Delete. */ +public final class RoleDefinitionsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/DeleteRoleDefinition.json + */ + /** + * Sample code: Delete role definition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().deleteWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions Get. */ +public final class RoleDefinitionsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionByName.json + */ + /** + * Sample code: Get role definition by name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getWithResponse("scope", "roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_GetById + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions GetById. */ +public final class RoleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionById.json + */ + /** + * Sample code: Get role definition by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleDefinitionByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().getByIdWithResponse("roleDefinitionId", Context.NONE); + } +} +``` + +### RoleDefinitions_List + +```java +import com.azure.core.util.Context; + +/** Samples for RoleDefinitions List. */ +public final class RoleDefinitionsListSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/examples/GetRoleDefinitionAtScope.json + */ + /** + * Sample code: List role definition for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleDefinitionForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleDefinitions().list("scope", null, Context.NONE); + } +} +``` + +### RoleEligibilityScheduleInstances_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances Get. */ +public final class RoleEligibilityScheduleInstancesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstanceByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstanceByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstanceByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "21e4b59a-0499-4fe0-a3c3-43a3055b773a", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleInstances_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleInstances ListForScope. */ +public final class RoleEligibilityScheduleInstancesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleInstancesByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleInstancesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleInstancesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleInstances() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_Cancel + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Cancel. */ +public final class RoleEligibilityScheduleRequestsCancelSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: CancelRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void cancelRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .cancelWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_Create + +```java +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; +import com.azure.resourcemanager.authorization.generated.models.Type; +import java.time.OffsetDateTime; + +/** Samples for RoleEligibilityScheduleRequests Create. */ +public final class RoleEligibilityScheduleRequestsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleEligibilityScheduleRequest.json + */ + /** + * Sample code: PutRoleEligibilityScheduleRequest. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleEligibilityScheduleRequest( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .define("64caffb6-55c0-4deb-a585-68e948ea1ad6") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f") + .withRoleDefinitionId( + "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608") + .withPrincipalId("a3bb8764-cb92-4276-9d2a-ca1e895e55ea") + .withRequestType(RequestType.ADMIN_ASSIGN) + .withScheduleInfo( + new RoleEligibilityScheduleRequestPropertiesScheduleInfo() + .withStartDateTime(OffsetDateTime.parse("2020-09-09T21:31:27.91Z")) + .withExpiration( + new RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration() + .withType(Type.AFTER_DURATION) + .withDuration("P365D"))) + .withCondition( + "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName]" + + " StringEqualsIgnoreCase 'foo_storage_container'") + .withConditionVersion("1.0") + .create(); + } +} +``` + +### RoleEligibilityScheduleRequests_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests Get. */ +public final class RoleEligibilityScheduleRequestsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "64caffb6-55c0-4deb-a585-68e948ea1ad6", + Context.NONE); + } +} +``` + +### RoleEligibilityScheduleRequests_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilityScheduleRequests ListForScope. */ +public final class RoleEligibilityScheduleRequestsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json + */ + /** + * Sample code: GetRoleEligibilityScheduleRequestByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleRequestByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilityScheduleRequests() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + Context.NONE); + } +} +``` + +### RoleEligibilitySchedules_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules Get. */ +public final class RoleEligibilitySchedulesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilityScheduleByName.json + */ + /** + * Sample code: GetRoleEligibilityScheduleByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilityScheduleByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "b1477448-2cc6-4ceb-93b4-54a202a89413", + Context.NONE); + } +} +``` + +### RoleEligibilitySchedules_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleEligibilitySchedules ListForScope. */ +public final class RoleEligibilitySchedulesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleEligibilitySchedulesByScope.json + */ + /** + * Sample code: GetRoleEligibilitySchedulesByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleEligibilitySchedulesByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleEligibilitySchedules() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "assignedTo('a3bb8764-cb92-4276-9d2a-ca1e895e55ea')", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Delete. */ +public final class RoleManagementPoliciesDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicy.json + */ + /** + * Sample code: DeleteRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies Get. */ +public final class RoleManagementPoliciesGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByName.json + */ + /** + * Sample code: GetRoleManagementPolicyByName. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + Context.NONE); + } +} +``` + +### RoleManagementPolicies_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicies ListForScope. */ +public final class RoleManagementPoliciesListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyByRoleDefinitionFilter. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyByRoleDefinitionFilter( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} +``` + +### RoleManagementPolicies_Update + +```java +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.azure.resourcemanager.authorization.generated.models.ApprovalMode; +import com.azure.resourcemanager.authorization.generated.models.ApprovalSettings; +import com.azure.resourcemanager.authorization.generated.models.ApprovalStage; +import com.azure.resourcemanager.authorization.generated.models.EnablementRules; +import com.azure.resourcemanager.authorization.generated.models.NotificationDeliveryMechanism; +import com.azure.resourcemanager.authorization.generated.models.NotificationLevel; +import com.azure.resourcemanager.authorization.generated.models.RecipientType; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyApprovalRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAuthenticationContextRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyEnablementRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyExpirationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyNotificationRule; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRuleTarget; +import com.azure.resourcemanager.authorization.generated.models.UserSet; +import com.azure.resourcemanager.authorization.generated.models.UserType; +import java.util.Arrays; + +/** Samples for RoleManagementPolicies Update. */ +public final class RoleManagementPoliciesUpdateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchPartialRoleManagementPolicy.json + */ + /** + * Sample code: PatchPartialRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchPartialRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false))), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PatchRoleManagementPolicy.json + */ + /** + * Sample code: PatchRoleManagementPolicy. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchRoleManagementPolicy( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicies() + .updateWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "570c3619-7688-4b34-b290-2b8bb3ccab2a", + new RoleManagementPolicyInner() + .withRules( + Arrays + .asList( + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withIsExpirationRequired(false) + .withMaximumDuration("P180D"), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_eligible@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Eligibility") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Eligibility")) + .withEnabledRules(Arrays.asList()), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(false) + .withMaximumDuration("P90D"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION)), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_Admin_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("Admin") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withNotificationRecipients(Arrays.asList("approver_admin_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyExpirationRule() + .withId("Expiration_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsExpirationRequired(true) + .withMaximumDuration("PT7H"), + new RoleManagementPolicyEnablementRule() + .withId("Enablement_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withEnabledRules( + Arrays + .asList( + EnablementRules.JUSTIFICATION, + EnablementRules.MULTI_FACTOR_AUTHENTICATION, + EnablementRules.TICKETING)), + new RoleManagementPolicyApprovalRule() + .withId("Approval_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withSetting( + new ApprovalSettings() + .withIsApprovalRequired(true) + .withIsApprovalRequiredForExtension(false) + .withIsRequestorJustificationRequired(true) + .withApprovalMode(ApprovalMode.SINGLE_STAGE) + .withApprovalStages( + Arrays + .asList( + new ApprovalStage() + .withApprovalStageTimeOutInDays(1) + .withIsApproverJustificationRequired(true) + .withEscalationTimeInMinutes(0) + .withPrimaryApprovers( + Arrays + .asList( + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2385b0f3-5fa9-43cf-8ca4-b01dc97298cd") + .withDescription("amansw_new_group"), + new UserSet() + .withUserType(UserType.GROUP) + .withIsBackup(false) + .withId( + "2f4913c9-d15b-406a-9946-1d66a28f2690") + .withDescription("amansw_group"))) + .withIsEscalationEnabled(false)))), + new RoleManagementPolicyAuthenticationContextRule() + .withId("AuthenticationContext_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withIsEnabled(false) + .withClaimValue(""), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Admin_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.ADMIN) + .withNotificationRecipients(Arrays.asList("admin_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Requestor_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.REQUESTOR) + .withNotificationRecipients(Arrays.asList("requestor_enduser_member@test.com")) + .withIsDefaultRecipientsEnabled(false), + new RoleManagementPolicyNotificationRule() + .withId("Notification_Approver_EndUser_Assignment") + .withTarget( + new RoleManagementPolicyRuleTarget() + .withCaller("EndUser") + .withOperations(Arrays.asList("All")) + .withLevel("Assignment")) + .withNotificationType(NotificationDeliveryMechanism.EMAIL) + .withNotificationLevel(NotificationLevel.CRITICAL) + .withRecipientType(RecipientType.APPROVER) + .withIsDefaultRecipientsEnabled(true))), + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_Create + +```java +/** Samples for RoleManagementPolicyAssignments Create. */ +public final class RoleManagementPolicyAssignmentsCreateSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/PutRoleManagementPolicyAssignment.json + */ + /** + * Sample code: PutRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .define("b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withExistingScope("providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withScope("/subscriptions/129ff972-28f8-46b8-a726-e497be039368") + .withRoleDefinitionId( + "/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleDefinitions/a1705bd2-3a8f-45a5-8683-466fcfd5cc24") + .withPolicyId( + "/providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368/providers/Microsoft.Authorization/roleManagementPolicies/b959d571-f0b5-4042-88a7-01be6cb22db9") + .create(); + } +} +``` + +### RoleManagementPolicyAssignments_Delete + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Delete. */ +public final class RoleManagementPolicyAssignmentsDeleteSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/DeleteRoleManagementPolicyAssignment.json + */ + /** + * Sample code: DeleteRoleManagementPolicyAssignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleManagementPolicyAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .deleteWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_Get + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments Get. */ +public final class RoleManagementPolicyAssignmentsGetSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByName.json + */ + /** + * Sample code: GetConfigurations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getConfigurations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .getWithResponse( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", + "b959d571-f0b5-4042-88a7-01be6cb22db9_a1705bd2-3a8f-45a5-8683-466fcfd5cc24", + Context.NONE); + } +} +``` + +### RoleManagementPolicyAssignments_ListForScope + +```java +import com.azure.core.util.Context; + +/** Samples for RoleManagementPolicyAssignments ListForScope. */ +public final class RoleManagementPolicyAssignmentsListForScopeSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/GetRoleManagementPolicyAssignmentByScope.json + */ + /** + * Sample code: GetRoleManagementPolicyAssignmentByScope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleManagementPolicyAssignmentByScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleManagementPolicyAssignments() + .listForScope( + "providers/Microsoft.Subscription/subscriptions/129ff972-28f8-46b8-a726-e497be039368", Context.NONE); + } +} +``` + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml b/sdk/authorization/azure-resourcemanager-authorization-generated/pom.xml new file mode 100644 index 0000000000000..641b6db9607a1 --- /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. Access reviews service provides the workflow for running access reviews on different kind of resources. Package tag package-2020-10-01-preview. + https://github.com/Azure/azure-sdk-for-java + + + + The MIT License (MIT) + http://opensource.org/licenses/MIT + repo + + + + + https://github.com/Azure/azure-sdk-for-java + scm:git:git@github.com:Azure/azure-sdk-for-java.git + scm:git:git@github.com:Azure/azure-sdk-for-java.git + HEAD + + + + microsoft + Microsoft + + + + UTF-8 + true + + + + com.azure + azure-core + 1.24.1 + + + com.azure + azure-core-management + 1.5.1 + + + diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java new file mode 100644 index 0000000000000..1c5ce53171a4a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/AuthorizationManager.java @@ -0,0 +1,542 @@ +// Copyright (c) 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.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy; +import com.azure.core.management.profile.AzureProfile; +import com.azure.core.util.Configuration; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AuthorizationManagementClient; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewDefaultSettingsOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceMyDecisionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstanceOperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AccessReviewScheduleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.AuthorizationManagementClientBuilder; +import com.azure.resourcemanager.authorization.generated.implementation.DenyAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.EligibleChildResourcesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.OperationsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.PermissionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.ProviderOperationsMetadatasImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentMetricsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentScheduleRequestsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentSchedulesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleDefinitionsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleInstancesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilityScheduleRequestsImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleEligibilitySchedulesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPoliciesImpl; +import com.azure.resourcemanager.authorization.generated.implementation.RoleManagementPolicyAssignmentsImpl; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceOperations; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstances; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstancesAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionsAssignedForMyApprovals; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignments; +import com.azure.resourcemanager.authorization.generated.models.EligibleChildResources; +import com.azure.resourcemanager.authorization.generated.models.Operations; +import com.azure.resourcemanager.authorization.generated.models.Permissions; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperationsMetadatas; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentMetrics; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleInstances; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequests; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentSchedules; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignments; +import com.azure.resourcemanager.authorization.generated.models.RoleDefinitions; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleInstances; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequests; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilitySchedules; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicies; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyAssignments; +import java.time.Duration; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * Entry point to AuthorizationManager. Access reviews service provides the workflow for running access reviews on + * different kind of resources. + */ +public final class AuthorizationManager { + private Operations operations; + + private AccessReviewScheduleDefinitions accessReviewScheduleDefinitions; + + private AccessReviewInstances accessReviewInstances; + + private AccessReviewInstanceOperations accessReviewInstanceOperations; + + private AccessReviewInstanceDecisions accessReviewInstanceDecisions; + + private AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations; + + private AccessReviewScheduleDefinitionsAssignedForMyApprovals accessReviewScheduleDefinitionsAssignedForMyApprovals; + + private AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals; + + private AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions; + + private DenyAssignments denyAssignments; + + private ProviderOperationsMetadatas providerOperationsMetadatas; + + private RoleAssignments roleAssignments; + + private Permissions permissions; + + private RoleDefinitions roleDefinitions; + + private RoleAssignmentMetrics roleAssignmentMetrics; + + private EligibleChildResources eligibleChildResources; + + private RoleAssignmentSchedules roleAssignmentSchedules; + + private RoleAssignmentScheduleInstances roleAssignmentScheduleInstances; + + private RoleAssignmentScheduleRequests roleAssignmentScheduleRequests; + + private RoleEligibilitySchedules roleEligibilitySchedules; + + private RoleEligibilityScheduleInstances roleEligibilityScheduleInstances; + + private RoleEligibilityScheduleRequests roleEligibilityScheduleRequests; + + private RoleManagementPolicies roleManagementPolicies; + + private RoleManagementPolicyAssignments roleManagementPolicyAssignments; + + private final AuthorizationManagementClient clientObject; + + private AuthorizationManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) { + Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + this.clientObject = + new AuthorizationManagementClientBuilder() + .pipeline(httpPipeline) + .endpoint(profile.getEnvironment().getResourceManagerEndpoint()) + .subscriptionId(profile.getSubscriptionId()) + .defaultPollInterval(defaultPollInterval) + .buildClient(); + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public static AuthorizationManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + return configure().authenticate(credential, profile); + } + + /** + * Gets a Configurable instance that can be used to create AuthorizationManager with optional configuration. + * + * @return the Configurable instance allowing configurations. + */ + public static Configurable configure() { + return new AuthorizationManager.Configurable(); + } + + /** The Configurable allowing configurations to be set. */ + public static final class Configurable { + private final ClientLogger logger = new ClientLogger(Configurable.class); + + private HttpClient httpClient; + private HttpLogOptions httpLogOptions; + private final List policies = new ArrayList<>(); + private final List scopes = new ArrayList<>(); + private RetryPolicy retryPolicy; + private Duration defaultPollInterval; + + private Configurable() { + } + + /** + * Sets the http client. + * + * @param httpClient the HTTP client. + * @return the configurable object itself. + */ + public Configurable withHttpClient(HttpClient httpClient) { + this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null."); + return this; + } + + /** + * Sets the logging options to the HTTP pipeline. + * + * @param httpLogOptions the HTTP log options. + * @return the configurable object itself. + */ + public Configurable withLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null."); + return this; + } + + /** + * Adds the pipeline policy to the HTTP pipeline. + * + * @param policy the HTTP pipeline policy. + * @return the configurable object itself. + */ + public Configurable withPolicy(HttpPipelinePolicy policy) { + this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null.")); + return this; + } + + /** + * Adds the scope to permission sets. + * + * @param scope the scope. + * @return the configurable object itself. + */ + public Configurable withScope(String scope) { + this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null.")); + return this; + } + + /** + * Sets the retry policy to the HTTP pipeline. + * + * @param retryPolicy the HTTP pipeline retry policy. + * @return the configurable object itself. + */ + public Configurable withRetryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null."); + return this; + } + + /** + * Sets the default poll interval, used when service does not provide "Retry-After" header. + * + * @param defaultPollInterval the default poll interval. + * @return the configurable object itself. + */ + public Configurable withDefaultPollInterval(Duration defaultPollInterval) { + this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null."); + if (this.defaultPollInterval.isNegative()) { + throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative")); + } + return this; + } + + /** + * Creates an instance of Authorization service API entry point. + * + * @param credential the credential to use. + * @param profile the Azure profile for client. + * @return the Authorization service API instance. + */ + public AuthorizationManager authenticate(TokenCredential credential, AzureProfile profile) { + Objects.requireNonNull(credential, "'credential' cannot be null."); + Objects.requireNonNull(profile, "'profile' cannot be null."); + + StringBuilder userAgentBuilder = new StringBuilder(); + userAgentBuilder + .append("azsdk-java") + .append("-") + .append("com.azure.resourcemanager.authorization.generated") + .append("/") + .append("1.0.0-beta.1"); + if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) { + userAgentBuilder + .append(" (") + .append(Configuration.getGlobalConfiguration().get("java.version")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.name")) + .append("; ") + .append(Configuration.getGlobalConfiguration().get("os.version")) + .append("; auto-generated)"); + } else { + userAgentBuilder.append(" (auto-generated)"); + } + + if (scopes.isEmpty()) { + scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default"); + } + if (retryPolicy == null) { + retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS); + } + List policies = new ArrayList<>(); + policies.add(new UserAgentPolicy(userAgentBuilder.toString())); + policies.add(new RequestIdPolicy()); + 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); + } + } + + /** @return Resource collection API of Operations. */ + public Operations operations() { + if (this.operations == null) { + this.operations = new OperationsImpl(clientObject.getOperations(), this); + } + return operations; + } + + /** @return Resource collection API of AccessReviewScheduleDefinitions. */ + public AccessReviewScheduleDefinitions accessReviewScheduleDefinitions() { + if (this.accessReviewScheduleDefinitions == null) { + this.accessReviewScheduleDefinitions = + new AccessReviewScheduleDefinitionsImpl(clientObject.getAccessReviewScheduleDefinitions(), this); + } + return accessReviewScheduleDefinitions; + } + + /** @return Resource collection API of AccessReviewInstances. */ + public AccessReviewInstances accessReviewInstances() { + if (this.accessReviewInstances == null) { + this.accessReviewInstances = new AccessReviewInstancesImpl(clientObject.getAccessReviewInstances(), this); + } + return accessReviewInstances; + } + + /** @return Resource collection API of AccessReviewInstanceOperations. */ + public AccessReviewInstanceOperations accessReviewInstanceOperations() { + if (this.accessReviewInstanceOperations == null) { + this.accessReviewInstanceOperations = + new AccessReviewInstanceOperationsImpl(clientObject.getAccessReviewInstanceOperations(), this); + } + return accessReviewInstanceOperations; + } + + /** @return Resource collection API of AccessReviewInstanceDecisions. */ + public AccessReviewInstanceDecisions accessReviewInstanceDecisions() { + if (this.accessReviewInstanceDecisions == null) { + this.accessReviewInstanceDecisions = + new AccessReviewInstanceDecisionsImpl(clientObject.getAccessReviewInstanceDecisions(), this); + } + return accessReviewInstanceDecisions; + } + + /** @return Resource collection API of AccessReviewDefaultSettingsOperations. */ + public AccessReviewDefaultSettingsOperations accessReviewDefaultSettingsOperations() { + if (this.accessReviewDefaultSettingsOperations == null) { + this.accessReviewDefaultSettingsOperations = + new AccessReviewDefaultSettingsOperationsImpl( + clientObject.getAccessReviewDefaultSettingsOperations(), this); + } + return accessReviewDefaultSettingsOperations; + } + + /** @return Resource collection API of AccessReviewScheduleDefinitionsAssignedForMyApprovals. */ + public AccessReviewScheduleDefinitionsAssignedForMyApprovals + accessReviewScheduleDefinitionsAssignedForMyApprovals() { + if (this.accessReviewScheduleDefinitionsAssignedForMyApprovals == null) { + this.accessReviewScheduleDefinitionsAssignedForMyApprovals = + new AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl( + clientObject.getAccessReviewScheduleDefinitionsAssignedForMyApprovals(), this); + } + return accessReviewScheduleDefinitionsAssignedForMyApprovals; + } + + /** @return Resource collection API of AccessReviewInstancesAssignedForMyApprovals. */ + public AccessReviewInstancesAssignedForMyApprovals accessReviewInstancesAssignedForMyApprovals() { + if (this.accessReviewInstancesAssignedForMyApprovals == null) { + this.accessReviewInstancesAssignedForMyApprovals = + new AccessReviewInstancesAssignedForMyApprovalsImpl( + clientObject.getAccessReviewInstancesAssignedForMyApprovals(), this); + } + return accessReviewInstancesAssignedForMyApprovals; + } + + /** @return Resource collection API of AccessReviewInstanceMyDecisions. */ + public AccessReviewInstanceMyDecisions accessReviewInstanceMyDecisions() { + if (this.accessReviewInstanceMyDecisions == null) { + this.accessReviewInstanceMyDecisions = + new AccessReviewInstanceMyDecisionsImpl(clientObject.getAccessReviewInstanceMyDecisions(), this); + } + return accessReviewInstanceMyDecisions; + } + + /** @return Resource collection API of DenyAssignments. */ + public DenyAssignments denyAssignments() { + if (this.denyAssignments == null) { + this.denyAssignments = new DenyAssignmentsImpl(clientObject.getDenyAssignments(), this); + } + return denyAssignments; + } + + /** @return Resource collection API of ProviderOperationsMetadatas. */ + public ProviderOperationsMetadatas providerOperationsMetadatas() { + if (this.providerOperationsMetadatas == null) { + this.providerOperationsMetadatas = + new ProviderOperationsMetadatasImpl(clientObject.getProviderOperationsMetadatas(), this); + } + return providerOperationsMetadatas; + } + + /** @return Resource collection API of RoleAssignments. */ + public RoleAssignments roleAssignments() { + if (this.roleAssignments == null) { + this.roleAssignments = new RoleAssignmentsImpl(clientObject.getRoleAssignments(), this); + } + return roleAssignments; + } + + /** @return Resource collection API of Permissions. */ + public Permissions permissions() { + if (this.permissions == null) { + this.permissions = new PermissionsImpl(clientObject.getPermissions(), this); + } + return permissions; + } + + /** @return Resource collection API of RoleDefinitions. */ + public RoleDefinitions roleDefinitions() { + if (this.roleDefinitions == null) { + this.roleDefinitions = new RoleDefinitionsImpl(clientObject.getRoleDefinitions(), this); + } + return roleDefinitions; + } + + /** @return Resource collection API of RoleAssignmentMetrics. */ + public RoleAssignmentMetrics roleAssignmentMetrics() { + if (this.roleAssignmentMetrics == null) { + this.roleAssignmentMetrics = new RoleAssignmentMetricsImpl(clientObject.getRoleAssignmentMetrics(), this); + } + return roleAssignmentMetrics; + } + + /** @return Resource collection API of EligibleChildResources. */ + public EligibleChildResources eligibleChildResources() { + if (this.eligibleChildResources == null) { + this.eligibleChildResources = + new EligibleChildResourcesImpl(clientObject.getEligibleChildResources(), this); + } + return eligibleChildResources; + } + + /** @return Resource collection API of RoleAssignmentSchedules. */ + public RoleAssignmentSchedules roleAssignmentSchedules() { + if (this.roleAssignmentSchedules == null) { + this.roleAssignmentSchedules = + new RoleAssignmentSchedulesImpl(clientObject.getRoleAssignmentSchedules(), this); + } + return roleAssignmentSchedules; + } + + /** @return Resource collection API of RoleAssignmentScheduleInstances. */ + public RoleAssignmentScheduleInstances roleAssignmentScheduleInstances() { + if (this.roleAssignmentScheduleInstances == null) { + this.roleAssignmentScheduleInstances = + new RoleAssignmentScheduleInstancesImpl(clientObject.getRoleAssignmentScheduleInstances(), this); + } + return roleAssignmentScheduleInstances; + } + + /** @return Resource collection API of RoleAssignmentScheduleRequests. */ + public RoleAssignmentScheduleRequests roleAssignmentScheduleRequests() { + if (this.roleAssignmentScheduleRequests == null) { + this.roleAssignmentScheduleRequests = + new RoleAssignmentScheduleRequestsImpl(clientObject.getRoleAssignmentScheduleRequests(), this); + } + return roleAssignmentScheduleRequests; + } + + /** @return Resource collection API of RoleEligibilitySchedules. */ + public RoleEligibilitySchedules roleEligibilitySchedules() { + if (this.roleEligibilitySchedules == null) { + this.roleEligibilitySchedules = + new RoleEligibilitySchedulesImpl(clientObject.getRoleEligibilitySchedules(), this); + } + return roleEligibilitySchedules; + } + + /** @return Resource collection API of RoleEligibilityScheduleInstances. */ + public RoleEligibilityScheduleInstances roleEligibilityScheduleInstances() { + if (this.roleEligibilityScheduleInstances == null) { + this.roleEligibilityScheduleInstances = + new RoleEligibilityScheduleInstancesImpl(clientObject.getRoleEligibilityScheduleInstances(), this); + } + return roleEligibilityScheduleInstances; + } + + /** @return Resource collection API of RoleEligibilityScheduleRequests. */ + public RoleEligibilityScheduleRequests roleEligibilityScheduleRequests() { + if (this.roleEligibilityScheduleRequests == null) { + this.roleEligibilityScheduleRequests = + new RoleEligibilityScheduleRequestsImpl(clientObject.getRoleEligibilityScheduleRequests(), this); + } + return roleEligibilityScheduleRequests; + } + + /** @return Resource collection API of RoleManagementPolicies. */ + public RoleManagementPolicies roleManagementPolicies() { + if (this.roleManagementPolicies == null) { + this.roleManagementPolicies = + new RoleManagementPoliciesImpl(clientObject.getRoleManagementPolicies(), this); + } + return roleManagementPolicies; + } + + /** @return Resource collection API of RoleManagementPolicyAssignments. */ + public RoleManagementPolicyAssignments roleManagementPolicyAssignments() { + if (this.roleManagementPolicyAssignments == null) { + this.roleManagementPolicyAssignments = + new RoleManagementPolicyAssignmentsImpl(clientObject.getRoleManagementPolicyAssignments(), this); + } + return roleManagementPolicyAssignments; + } + + /** + * @return Wrapped service client AuthorizationManagementClient providing direct access to the underlying + * auto-generated API implementation, based on Azure REST API. + */ + public AuthorizationManagementClient serviceClient() { + return this.clientObject; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewDefaultSettingsOperationsClient.java new file mode 100644 index 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..50aefe21624eb --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceDecisionsClient.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */ +public interface AccessReviewInstanceDecisionsClient { + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java new file mode 100644 index 0000000000000..b5bba06bb5db3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstanceMyDecisionsClient.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */ +public interface AccessReviewInstanceMyDecisionsClient { + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, String id, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewDecisionInner getById(String scheduleDefinitionId, String id, String decisionId); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision 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..df400bf23d929 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesAssignedForMyApprovalsClient.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewInstancesAssignedForMyApprovalsClient. + */ +public interface AccessReviewInstancesAssignedForMyApprovalsClient { + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner getById(String scheduleDefinitionId, String id); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval 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..e1146acd01614 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewInstancesClient.java @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstancesClient. */ +public interface AccessReviewInstancesClient { + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scheduleDefinitionId, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewInstanceInner getById(String scheduleDefinitionId, String id); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances 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..2fba45a897baa --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient.java @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient. + */ +public interface AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient { + /** + * Get access review instances assigned for my approval. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Get access review instances assigned for my approval. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java new file mode 100644 index 0000000000000..b5301459abf2a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AccessReviewScheduleDefinitionsClient.java @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionProperties; + +/** An instance of this class provides access to all the operations defined in AccessReviewScheduleDefinitionsClient. */ +public interface AccessReviewScheduleDefinitionsClient { + /** + * Get access review schedule definitions. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Get access review schedule definitions. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + AccessReviewScheduleDefinitionInner getById(String scheduleDefinitionId); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition 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..943e292a9705f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/AuthorizationManagementClient.java @@ -0,0 +1,208 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.http.HttpPipeline; +import java.time.Duration; + +/** The interface for AuthorizationManagementClient class. */ +public interface AuthorizationManagementClient { + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + String getSubscriptionId(); + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + String getEndpoint(); + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + HttpPipeline getHttpPipeline(); + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + Duration getDefaultPollInterval(); + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + OperationsClient getOperations(); + + /** + * Gets the AccessReviewScheduleDefinitionsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsClient object. + */ + AccessReviewScheduleDefinitionsClient getAccessReviewScheduleDefinitions(); + + /** + * Gets the AccessReviewInstancesClient object to access its operations. + * + * @return the AccessReviewInstancesClient object. + */ + AccessReviewInstancesClient getAccessReviewInstances(); + + /** + * Gets the AccessReviewInstanceOperationsClient object to access its operations. + * + * @return the AccessReviewInstanceOperationsClient object. + */ + AccessReviewInstanceOperationsClient getAccessReviewInstanceOperations(); + + /** + * Gets the AccessReviewInstanceDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceDecisionsClient object. + */ + AccessReviewInstanceDecisionsClient getAccessReviewInstanceDecisions(); + + /** + * Gets the AccessReviewDefaultSettingsOperationsClient object to access its operations. + * + * @return the AccessReviewDefaultSettingsOperationsClient object. + */ + AccessReviewDefaultSettingsOperationsClient getAccessReviewDefaultSettingsOperations(); + + /** + * Gets the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient object. + */ + AccessReviewScheduleDefinitionsAssignedForMyApprovalsClient + getAccessReviewScheduleDefinitionsAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstancesAssignedForMyApprovalsClient object to access its operations. + * + * @return the AccessReviewInstancesAssignedForMyApprovalsClient object. + */ + AccessReviewInstancesAssignedForMyApprovalsClient getAccessReviewInstancesAssignedForMyApprovals(); + + /** + * Gets the AccessReviewInstanceMyDecisionsClient object to access its operations. + * + * @return the AccessReviewInstanceMyDecisionsClient object. + */ + AccessReviewInstanceMyDecisionsClient getAccessReviewInstanceMyDecisions(); + + /** + * Gets the DenyAssignmentsClient object to access its operations. + * + * @return the DenyAssignmentsClient object. + */ + DenyAssignmentsClient getDenyAssignments(); + + /** + * Gets the ProviderOperationsMetadatasClient object to access its operations. + * + * @return the ProviderOperationsMetadatasClient object. + */ + ProviderOperationsMetadatasClient getProviderOperationsMetadatas(); + + /** + * Gets the RoleAssignmentsClient object to access its operations. + * + * @return the RoleAssignmentsClient object. + */ + RoleAssignmentsClient getRoleAssignments(); + + /** + * Gets the PermissionsClient object to access its operations. + * + * @return the PermissionsClient object. + */ + PermissionsClient getPermissions(); + + /** + * Gets the RoleDefinitionsClient object to access its operations. + * + * @return the RoleDefinitionsClient object. + */ + RoleDefinitionsClient getRoleDefinitions(); + + /** + * Gets the RoleAssignmentMetricsClient object to access its operations. + * + * @return the RoleAssignmentMetricsClient object. + */ + RoleAssignmentMetricsClient getRoleAssignmentMetrics(); + + /** + * Gets the EligibleChildResourcesClient object to access its operations. + * + * @return the EligibleChildResourcesClient object. + */ + EligibleChildResourcesClient getEligibleChildResources(); + + /** + * Gets the RoleAssignmentSchedulesClient object to access its operations. + * + * @return the RoleAssignmentSchedulesClient object. + */ + RoleAssignmentSchedulesClient getRoleAssignmentSchedules(); + + /** + * Gets the RoleAssignmentScheduleInstancesClient object to access its operations. + * + * @return the RoleAssignmentScheduleInstancesClient object. + */ + RoleAssignmentScheduleInstancesClient getRoleAssignmentScheduleInstances(); + + /** + * Gets the RoleAssignmentScheduleRequestsClient object to access its operations. + * + * @return the RoleAssignmentScheduleRequestsClient object. + */ + RoleAssignmentScheduleRequestsClient getRoleAssignmentScheduleRequests(); + + /** + * Gets the RoleEligibilitySchedulesClient object to access its operations. + * + * @return the RoleEligibilitySchedulesClient object. + */ + RoleEligibilitySchedulesClient getRoleEligibilitySchedules(); + + /** + * Gets the RoleEligibilityScheduleInstancesClient object to access its operations. + * + * @return the RoleEligibilityScheduleInstancesClient object. + */ + RoleEligibilityScheduleInstancesClient getRoleEligibilityScheduleInstances(); + + /** + * Gets the RoleEligibilityScheduleRequestsClient object to access its operations. + * + * @return the RoleEligibilityScheduleRequestsClient object. + */ + RoleEligibilityScheduleRequestsClient getRoleEligibilityScheduleRequests(); + + /** + * Gets the RoleManagementPoliciesClient object to access its operations. + * + * @return the RoleManagementPoliciesClient object. + */ + RoleManagementPoliciesClient getRoleManagementPolicies(); + + /** + * Gets the RoleManagementPolicyAssignmentsClient object to access its operations. + * + * @return the RoleManagementPolicyAssignmentsClient object. + */ + RoleManagementPolicyAssignmentsClient getRoleManagementPolicyAssignments(); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java new file mode 100644 index 0000000000000..8e433e74e8e21 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/DenyAssignmentsClient.java @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; + +/** An instance of this class provides access to all the operations defined in DenyAssignmentsClient. */ +public interface DenyAssignmentsClient { + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets deny assignments for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get deny assignments for. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + String filter, + Context context); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets deny assignments for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a resource group. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName, String filter, Context context); + + /** + * Gets all deny assignments for the subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Gets all deny assignments for the subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all deny assignments for the subscription. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, Context context); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + DenyAssignmentInner get(String scope, String denyAssignmentId); + + /** + * Get the specified deny assignment. + * + * @param scope The scope of the deny assignment. + * @param denyAssignmentId The ID of the deny assignment to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified deny assignment 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets deny assignments for a scope. + * + * @param scope The scope of the deny assignments. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or + * above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified + * scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the + * specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and + * below the scope for the specified principal. This filter is different from the principalId filter as it + * returns not only those deny assignments that contain the specified principal is the Principals list but also + * those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when + * gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return deny assignments for a scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java new file mode 100644 index 0000000000000..75260d671fd88 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/EligibleChildResourcesClient.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; + +/** An instance of this class provides access to all the operations defined in EligibleChildResourcesClient. */ +public interface EligibleChildResourcesClient { + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable get(String scope); + + /** + * Get the child resources of a resource on which user has eligible access. + * + * @param scope The scope of the role management policy. + * @param filter The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only + * resource of type = 'Subscription'. Use + * $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = + * 'Subscription' or 'ResourceGroup'. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the child resources of a resource on which user has eligible access. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable get(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java new file mode 100644 index 0000000000000..ea09477ff2baf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/OperationsClient.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; + +/** An instance of this class provides access to all the operations defined in OperationsClient. */ +public interface OperationsClient { + /** + * Lists the operations available from this provider. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Lists the operations available from this provider. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the result of a request to list Microsoft.Authorization operations. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java new file mode 100644 index 0000000000000..c8cfb415af55e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/PermissionsClient.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; + +/** An instance of this class provides access to all the operations defined in PermissionsClient. */ +public interface PermissionsClient { + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * Gets all permissions the caller has for a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource group. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName, Context context); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName); + + /** + * Gets all permissions the caller has for a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param parentResourcePath The parent resource identity. + * @param resourceType The resource type of the resource. + * @param resourceName The name of the resource to get the permissions for. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all permissions the caller has for a resource. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String parentResourcePath, + String resourceType, + String resourceName, + Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/ProviderOperationsMetadatasClient.java new file mode 100644 index 0000000000000..01c0e493fc397 --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * Gets provider operations metadata for all resource providers. + * + * @param expand Specifies whether to expand the values. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return provider operations metadata for all resource providers. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String expand, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentMetricsClient.java new file mode 100644 index 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..c0ece2f2f7f0c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentScheduleInstancesClient.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentScheduleInstancesClient. */ +public interface RoleAssignmentScheduleInstancesClient { + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule instances of a role assignment schedule. + * + * @param scope The scope of the role assignment schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances + * created for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule instances of a role assignment schedule. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentScheduleInstanceInner get(String scope, String roleAssignmentScheduleInstanceName); + + /** + * Gets the specified role assignment schedule instance. + * + * @param scope The scope of the role assignments schedules. + * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role assignment schedule + * to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role assignment schedule instance 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..80637524c55e9 --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedule requests for a scope. + * + * @param scope The scope of the role assignments schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role + * assignment schedule requests created for the current user. Use $filter=asApprover() to return all role + * assignment schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedule requests for a scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void cancel(String scope, String roleAssignmentScheduleRequestName); + + /** + * Cancels a pending role assignment schedule request. + * + * @param scope The scope of the role assignment request to cancel. + * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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..4301f5896e481 --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role assignment schedules for a resource scope. + * + * @param scope The scope of the role assignments schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment + * schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for + * the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment schedules for a resource scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java new file mode 100644 index 0000000000000..3c4856f31da03 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleAssignmentsClient.java @@ -0,0 +1,428 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.ValidationResponseInner; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentCreateParameters; + +/** An instance of this class provides access to all the operations defined in RoleAssignmentsClient. */ +public interface RoleAssignmentsClient { + /** + * List all role assignments that apply to a subscription. + * + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(); + + /** + * List all role assignments that apply to a subscription. + * + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup(String resourceGroupName); + + /** + * List all role assignments that apply to a resource group. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listByResourceGroup( + String resourceGroupName, String filter, String tenantId, Context context); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, String resourceProviderNamespace, String resourceType, String resourceName); + + /** + * List all role assignments that apply to a resource. + * + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param resourceProviderNamespace The namespace of the resource provider. + * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from + * Microsoft.Web/sites). + * @param resourceName The resource name. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForResource( + String resourceGroupName, + String resourceProviderNamespace, + String resourceType, + String resourceName, + String filter, + String tenantId, + Context context); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner get(String scope, String roleAssignmentName); + + /** + * Get a role assignment by scope and name. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by scope and name 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, String tenantId, Context context); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleAssignmentInner getById(String roleAssignmentId); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID 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..538bd7e54921a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleDefinitionsClient.java @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; + +/** An instance of this class provides access to all the operations defined in RoleDefinitionsClient. */ +public interface RoleDefinitionsClient { + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner delete(String scope, String roleDefinitionId); + + /** + * Deletes a role definition. + * + * @param scope The scope of the role definition. + * @param roleDefinitionId The ID of the role definition to delete. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role definition 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope); + + /** + * Get all role definitions that are applicable at scope and above. + * + * @param scope The scope of the role definition. + * @param filter The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as + * well. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return all role definitions that are applicable at scope and above. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable list(String scope, String filter, Context context); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleDefinitionInner getById(String roleId); + + /** + * Gets a role definition by ID. + * + * @param roleId The fully qualified role definition ID. Use the format, + * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription + * level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant + * level role definitions. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role definition by ID 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..a9165ae2559ce --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleEligibilityScheduleInstancesClient.java @@ -0,0 +1,77 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; + +/** + * An instance of this class provides access to all the operations defined in RoleEligibilityScheduleInstancesClient. + */ +public interface RoleEligibilityScheduleInstancesClient { + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule instances of a role eligibility schedule. + * + * @param scope The scope of the role eligibility schedule. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules + * at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or + * below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule instances of a role eligibility schedule. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleEligibilityScheduleInstanceInner get(String scope, String roleEligibilityScheduleInstanceName); + + /** + * Gets the specified role eligibility schedule instance. + * + * @param scope The scope of the role eligibility schedules. + * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role eligibility + * schedule to get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role eligibility schedule instance 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..199248db9c1ed --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedule requests for a scope. + * + * @param scope The scope of the role eligibility schedule requests. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule + * requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule + * requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all + * role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role + * eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role + * eligibility schedule requests where the current user is an approver. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedule requests for a scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + void cancel(String scope, String roleEligibilityScheduleRequestName); + + /** + * Cancels a pending role eligibility schedule request. + * + * @param scope The scope of the role eligibility request to cancel. + * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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..89039b77c84d6 --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role eligibility schedules for a resource scope. + * + * @param scope The scope of the role eligibility schedules. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role eligibility + * schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, + * above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role + * eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created + * for the current user. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role eligibility schedules for a resource scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, String filter, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPoliciesClient.java new file mode 100644 index 0000000000000..eb264894d043d --- /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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role management policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management policies for a resource scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java new file mode 100644 index 0000000000000..1b32646315a1b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/RoleManagementPolicyAssignmentsClient.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent; + +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; + +/** An instance of this class provides access to all the operations defined in RoleManagementPolicyAssignmentsClient. */ +public interface RoleManagementPolicyAssignmentsClient { + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + RoleManagementPolicyAssignmentInner get(String scope, String roleManagementPolicyAssignmentName); + + /** + * Get the specified role management policy assignment for a resource scope. + * + * @param scope The scope of the role management policy. + * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy assignment to + * get. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the specified role management policy assignment for a resource scope 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope); + + /** + * Gets role management assignment policies for a resource scope. + * + * @param scope The scope of the role management policy. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role management assignment policies for a resource scope. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + PagedIterable listForScope(String scope, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java new file mode 100644 index 0000000000000..ddc2cd915bd13 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewActorIdentity.java @@ -0,0 +1,85 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the actor identity. */ +@Immutable +public class AccessReviewActorIdentity { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewActorIdentity.class); + + /* + * The identity id + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The identity type : user/servicePrincipal + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentityType principalType; + + /* + * The identity display name + */ + @JsonProperty(value = "principalName", access = JsonProperty.Access.WRITE_ONLY) + private String principalName; + + /* + * The user principal name(if valid) + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.principalType; + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.principalName; + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.userPrincipalName; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java new file mode 100644 index 0000000000000..8563739f403d8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionInner.java @@ -0,0 +1,168 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review. */ +@Fluent +public final class AccessReviewDecisionInner extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionInner.class); + + /* + * Access Review Decision properties. + */ + @JsonProperty(value = "properties") + private AccessReviewDecisionProperties innerProperties; + + /** + * Get the innerProperties property: Access Review Decision properties. + * + * @return the innerProperties value. + */ + private AccessReviewDecisionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + public AccessRecommendationType recommendation() { + return this.innerProperties() == null ? null : this.innerProperties().recommendation(); + } + + /** + * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + public AccessReviewResult decision() { + return this.innerProperties() == null ? null : this.innerProperties().decision(); + } + + /** + * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @param decision the decision value to set. + * @return the AccessReviewDecisionInner object itself. + */ + public AccessReviewDecisionInner withDecision(AccessReviewResult decision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewDecisionProperties(); + } + this.innerProperties().withDecision(decision); + return this; + } + + /** + * Get the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification provided by approvers for their action. + * + * @param justification the justification value to set. + * @return the AccessReviewDecisionInner object itself. + */ + public AccessReviewDecisionInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewDecisionProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + public OffsetDateTime reviewedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().reviewedDateTime(); + } + + /** + * Get the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + public AccessReviewApplyResult applyResult() { + return this.innerProperties() == null ? null : this.innerProperties().applyResult(); + } + + /** + * Get the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + public OffsetDateTime appliedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().appliedDateTime(); + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java new file mode 100644 index 0000000000000..19230c1d39b63 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionProperties.java @@ -0,0 +1,272 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Approval Step. */ +@Fluent +public final class AccessReviewDecisionProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionProperties.class); + + /* + * Target of this decision record. Can be UserDecisionTarget or + * ServicePrincipalDecisionTarget + */ + @JsonProperty(value = "target", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewDecisionTarget innerTarget; + + /* + * The feature- generated recommendation shown to the reviewer. + */ + @JsonProperty(value = "recommendation", access = JsonProperty.Access.WRITE_ONLY) + private AccessRecommendationType recommendation; + + /* + * The decision on the approval step. This value is initially set to + * NotReviewed. Approvers can take action of Approve/Deny + */ + @JsonProperty(value = "decision") + private AccessReviewResult decision; + + /* + * Justification provided by approvers for their action + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Date Time when a decision was taken. + */ + @JsonProperty(value = "reviewedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime reviewedDateTime; + + /* + * Details of the approver. + */ + @JsonProperty(value = "reviewedBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerReviewedBy; + + /* + * The outcome of applying the decision. + */ + @JsonProperty(value = "applyResult", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewApplyResult applyResult; + + /* + * The date and time when the review decision was applied. + */ + @JsonProperty(value = "appliedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime appliedDateTime; + + /* + * Details of the applier. + */ + @JsonProperty(value = "appliedBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerAppliedBy; + + /** + * Get the innerTarget property: Target of this decision record. Can be UserDecisionTarget or + * ServicePrincipalDecisionTarget. + * + * @return the innerTarget value. + */ + private AccessReviewDecisionTarget innerTarget() { + return this.innerTarget; + } + + /** + * Get the recommendation property: The feature- generated recommendation shown to the reviewer. + * + * @return the recommendation value. + */ + public AccessRecommendationType recommendation() { + return this.recommendation; + } + + /** + * Get the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @return the decision value. + */ + public AccessReviewResult decision() { + return this.decision; + } + + /** + * Set the decision property: The decision on the approval step. This value is initially set to NotReviewed. + * Approvers can take action of Approve/Deny. + * + * @param decision the decision value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withDecision(AccessReviewResult decision) { + this.decision = decision; + return this; + } + + /** + * Get the justification property: Justification provided by approvers for their action. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification provided by approvers for their action. + * + * @param justification the justification value to set. + * @return the AccessReviewDecisionProperties object itself. + */ + public AccessReviewDecisionProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the reviewedDateTime property: Date Time when a decision was taken. + * + * @return the reviewedDateTime value. + */ + public OffsetDateTime reviewedDateTime() { + return this.reviewedDateTime; + } + + /** + * Get the innerReviewedBy property: Details of the approver. + * + * @return the innerReviewedBy value. + */ + private AccessReviewActorIdentity innerReviewedBy() { + return this.innerReviewedBy; + } + + /** + * Get the applyResult property: The outcome of applying the decision. + * + * @return the applyResult value. + */ + public AccessReviewApplyResult applyResult() { + return this.applyResult; + } + + /** + * Get the appliedDateTime property: The date and time when the review decision was applied. + * + * @return the appliedDateTime value. + */ + public OffsetDateTime appliedDateTime() { + return this.appliedDateTime; + } + + /** + * Get the innerAppliedBy property: Details of the applier. + * + * @return the innerAppliedBy value. + */ + private AccessReviewActorIdentity innerAppliedBy() { + return this.innerAppliedBy; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerReviewedBy() == null ? null : this.innerReviewedBy().userPrincipalName(); + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerAppliedBy() == null ? null : this.innerAppliedBy().userPrincipalName(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerTarget() != null) { + innerTarget().validate(); + } + if (innerReviewedBy() != null) { + innerReviewedBy().validate(); + } + if (innerAppliedBy() != null) { + innerAppliedBy().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.java new file mode 100644 index 0000000000000..789286188b4fc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDecisionTarget.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ServicePrincipalDecisionTarget; +import com.azure.resourcemanager.authorization.generated.models.UserDecisionTarget; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Target of the decision. */ +@JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.PROPERTY, + property = "type", + defaultImpl = AccessReviewDecisionTarget.class) +@JsonTypeName("AccessReviewDecisionTarget") +@JsonSubTypes({ + @JsonSubTypes.Type(name = "user", value = UserDecisionTarget.class), + @JsonSubTypes.Type(name = "servicePrincipal", value = ServicePrincipalDecisionTarget.class) +}) +@Immutable +public class AccessReviewDecisionTarget { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionTarget.class); + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java new file mode 100644 index 0000000000000..3995df16d0371 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewDefaultSettingsInner.java @@ -0,0 +1,368 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review Default Settings. */ +@Fluent +public final class AccessReviewDefaultSettingsInner extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDefaultSettingsInner.class); + + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewScheduleSettings innerProperties; + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewScheduleSettings innerProperties() { + return this.innerProperties; + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withTypePropertiesType(AccessReviewRecurrencePatternType type) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerProperties() == null ? null : this.innerProperties().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withInterval(Integer interval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withInterval(interval); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerProperties() == null ? null : this.innerProperties().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withStartDate(OffsetDateTime startDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerProperties() == null ? null : this.innerProperties().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewDefaultSettingsInner object itself. + */ + public AccessReviewDefaultSettingsInner withEndDate(OffsetDateTime endDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleSettings(); + } + this.innerProperties().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java new file mode 100644 index 0000000000000..1d3a2f069e332 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceInner.java @@ -0,0 +1,100 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review Instance. */ +@Fluent +public final class AccessReviewInstanceInner extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceInner.class); + + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewInstanceProperties innerProperties; + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + public AccessReviewInstanceStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @param startDateTime the startDateTime value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @param endDateTime the endDateTime value to set. + * @return the AccessReviewInstanceInner object itself. + */ + public AccessReviewInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java new file mode 100644 index 0000000000000..fa82ca6f71927 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewInstanceProperties.java @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceStatus; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Access Review Instance properties. */ +@Fluent +public final class AccessReviewInstanceProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceProperties.class); + + /* + * This read-only field specifies the status of an access review instance. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewInstanceStatus status; + + /* + * The DateTime when the review instance is scheduled to be start. + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The DateTime when the review instance is scheduled to end. + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /** + * Get the status property: This read-only field specifies the status of an access review instance. + * + * @return the status value. + */ + public AccessReviewInstanceStatus status() { + return this.status; + } + + /** + * Get the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The DateTime when the review instance is scheduled to be start. + * + * @param startDateTime the startDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The DateTime when the review instance is scheduled to end. + * + * @param endDateTime the endDateTime value to set. + * @return the AccessReviewInstanceProperties object itself. + */ + public AccessReviewInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java new file mode 100644 index 0000000000000..acb18025f43dd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrencePattern.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Recurrence Pattern of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrencePattern { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrencePattern.class); + + /* + * The recurrence type : weekly, monthly, etc. + */ + @JsonProperty(value = "type") + private AccessReviewRecurrencePatternType type; + + /* + * The interval for recurrence. For a quarterly review, the interval is 3 + * for type : absoluteMonthly. + */ + @JsonProperty(value = "interval") + private Integer interval; + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.type; + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewRecurrencePattern object itself. + */ + public AccessReviewRecurrencePattern withType(AccessReviewRecurrencePatternType type) { + this.type = type; + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.interval; + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewRecurrencePattern object itself. + */ + public AccessReviewRecurrencePattern withInterval(Integer interval) { + this.interval = interval; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java new file mode 100644 index 0000000000000..a0325cc51c10b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceRange.java @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Recurrence Range of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrenceRange { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrenceRange.class); + + /* + * The recurrence range type. The possible values are: endDate, noEnd, + * numbered. + */ + @JsonProperty(value = "type") + private AccessReviewRecurrenceRangeType type; + + /* + * The number of times to repeat the access review. Required and must be + * positive if type is numbered. + */ + @JsonProperty(value = "numberOfOccurrences") + private Integer numberOfOccurrences; + + /* + * The DateTime when the review is scheduled to be start. This could be a + * date in the future. Required on create. + */ + @JsonProperty(value = "startDate") + private OffsetDateTime startDate; + + /* + * The DateTime when the review is scheduled to end. Required if type is + * endDate + */ + @JsonProperty(value = "endDate") + private OffsetDateTime endDate; + + /** + * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the type value. + */ + public AccessReviewRecurrenceRangeType type() { + return this.type; + } + + /** + * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withType(AccessReviewRecurrenceRangeType type) { + this.type = type; + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.numberOfOccurrences; + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withNumberOfOccurrences(Integer numberOfOccurrences) { + this.numberOfOccurrences = numberOfOccurrences; + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.startDate; + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withStartDate(OffsetDateTime startDate) { + this.startDate = startDate; + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.endDate; + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewRecurrenceRange object itself. + */ + public AccessReviewRecurrenceRange withEndDate(OffsetDateTime endDate) { + this.endDate = endDate; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java new file mode 100644 index 0000000000000..1c5e2e39771da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewRecurrenceSettings.java @@ -0,0 +1,207 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrenceRangeType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Recurrence Settings of an Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewRecurrenceSettings { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewRecurrenceSettings.class); + + /* + * Access Review schedule definition recurrence pattern. + */ + @JsonProperty(value = "pattern") + private AccessReviewRecurrencePattern innerPattern; + + /* + * Access Review schedule definition recurrence range. + */ + @JsonProperty(value = "range") + private AccessReviewRecurrenceRange innerRange; + + /** + * Get the innerPattern property: Access Review schedule definition recurrence pattern. + * + * @return the innerPattern value. + */ + private AccessReviewRecurrencePattern innerPattern() { + return this.innerPattern; + } + + /** + * Get the innerRange property: Access Review schedule definition recurrence range. + * + * @return the innerRange value. + */ + private AccessReviewRecurrenceRange innerRange() { + return this.innerRange; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerPattern() == null ? null : this.innerPattern().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerPattern() == null ? null : this.innerPattern().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withInterval(Integer interval) { + if (this.innerPattern() == null) { + this.innerPattern = new AccessReviewRecurrencePattern(); + } + this.innerPattern().withInterval(interval); + return this; + } + + /** + * Get the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @return the type value. + */ + public AccessReviewRecurrenceRangeType type() { + return this.innerRange() == null ? null : this.innerRange().type(); + } + + /** + * Set the type property: The recurrence range type. The possible values are: endDate, noEnd, numbered. + * + * @param type the type value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withType(AccessReviewRecurrenceRangeType type) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withType(type); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerRange() == null ? null : this.innerRange().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerRange() == null ? null : this.innerRange().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withStartDate(OffsetDateTime startDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerRange() == null ? null : this.innerRange().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewRecurrenceSettings object itself. + */ + public AccessReviewRecurrenceSettings withEndDate(OffsetDateTime endDate) { + if (this.innerRange() == null) { + this.innerRange = new AccessReviewRecurrenceRange(); + } + this.innerRange().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerPattern() != null) { + innerPattern().validate(); + } + if (innerRange() != null) { + innerRange().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java new file mode 100644 index 0000000000000..f7b550fc5eac4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionInner.java @@ -0,0 +1,566 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review Schedule Definition. */ +@Fluent +public final class AccessReviewScheduleDefinitionInner extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionInner.class); + + /* + * Access Review properties. + */ + @JsonProperty(value = "properties") + private AccessReviewScheduleDefinitionProperties innerProperties; + + /** + * Get the innerProperties property: Access Review properties. + * + * @return the innerProperties value. + */ + private AccessReviewScheduleDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The display name for the schedule definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + public AccessReviewScheduleDefinitionStatus status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + public String descriptionForAdmins() { + return this.innerProperties() == null ? null : this.innerProperties().descriptionForAdmins(); + } + + /** + * Set the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @param descriptionForAdmins the descriptionForAdmins value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDescriptionForAdmins(String descriptionForAdmins) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDescriptionForAdmins(descriptionForAdmins); + return this; + } + + /** + * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + public String descriptionForReviewers() { + return this.innerProperties() == null ? null : this.innerProperties().descriptionForReviewers(); + } + + /** + * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @param descriptionForReviewers the descriptionForReviewers value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDescriptionForReviewers(String descriptionForReviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDescriptionForReviewers(descriptionForReviewers); + return this; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.innerProperties() == null ? null : this.innerProperties().reviewers(); + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withReviewers(List reviewers) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withReviewers(reviewers); + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.innerProperties() == null ? null : this.innerProperties().reviewersType(); + } + + /** + * Get the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + public List instances() { + return this.innerProperties() == null ? null : this.innerProperties().instances(); + } + + /** + * Set the instances property: This is the collection of instances returned when one does an expand on it. + * + * @param instances the instances value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInstances(List instances) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInstances(instances); + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerProperties() == null ? null : this.innerProperties().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerProperties() == null ? null : this.innerProperties().userPrincipalName(); + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerProperties() == null ? null : this.innerProperties().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerProperties() == null ? null : this.innerProperties().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerProperties() == null ? null : this.innerProperties().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerProperties() == null ? null : this.innerProperties().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerProperties() == null ? null : this.innerProperties().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withTypePropertiesType(AccessReviewRecurrencePatternType type) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerProperties() == null ? null : this.innerProperties().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withInterval(Integer interval) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withInterval(interval); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerProperties() == null ? null : this.innerProperties().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerProperties() == null ? null : this.innerProperties().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withStartDate(OffsetDateTime startDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerProperties() == null ? null : this.innerProperties().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleDefinitionInner object itself. + */ + public AccessReviewScheduleDefinitionInner withEndDate(OffsetDateTime endDate) { + if (this.innerProperties() == null) { + this.innerProperties = new AccessReviewScheduleDefinitionProperties(); + } + this.innerProperties().withEndDate(endDate); + return this; + } + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.innerProperties() == null ? null : this.innerProperties().resourceId(); + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java new file mode 100644 index 0000000000000..ca4e20bdda69f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleDefinitionProperties.java @@ -0,0 +1,653 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewReviewer; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionReviewersType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScheduleDefinitionStatus; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Access Review. */ +@Fluent +public final class AccessReviewScheduleDefinitionProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionProperties.class); + + /* + * The display name for the schedule definition. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * This read-only field specifies the status of an accessReview. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScheduleDefinitionStatus status; + + /* + * The description provided by the access review creator and visible to + * admins. + */ + @JsonProperty(value = "descriptionForAdmins") + private String descriptionForAdmins; + + /* + * The description provided by the access review creator to be shown to + * reviewers. + */ + @JsonProperty(value = "descriptionForReviewers") + private String descriptionForReviewers; + + /* + * The user or other identity who created this review. + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewActorIdentity innerCreatedBy; + + /* + * Access Review Settings. + */ + @JsonProperty(value = "settings") + private AccessReviewScheduleSettings innerSettings; + + /* + * This is used to define what to include in scope of the review. The scope + * definition includes the resourceId and roleDefinitionId. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScope innerScope; + + /* + * This is the collection of reviewers. + */ + @JsonProperty(value = "reviewers") + private List reviewers; + + /* + * This field specifies the type of reviewers for a review. Usually for a + * review, reviewers are explicitly assigned. However, in some cases, the + * reviewers may not be assigned and instead be chosen dynamically. For + * example managers review or self review. + */ + @JsonProperty(value = "reviewersType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScheduleDefinitionReviewersType reviewersType; + + /* + * This is the collection of instances returned when one does an expand on + * it. + */ + @JsonProperty(value = "instances") + private List instances; + + /** + * Get the displayName property: The display name for the schedule definition. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The display name for the schedule definition. + * + * @param displayName the displayName value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the status property: This read-only field specifies the status of an accessReview. + * + * @return the status value. + */ + public AccessReviewScheduleDefinitionStatus status() { + return this.status; + } + + /** + * Get the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @return the descriptionForAdmins value. + */ + public String descriptionForAdmins() { + return this.descriptionForAdmins; + } + + /** + * Set the descriptionForAdmins property: The description provided by the access review creator and visible to + * admins. + * + * @param descriptionForAdmins the descriptionForAdmins value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDescriptionForAdmins(String descriptionForAdmins) { + this.descriptionForAdmins = descriptionForAdmins; + return this; + } + + /** + * Get the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @return the descriptionForReviewers value. + */ + public String descriptionForReviewers() { + return this.descriptionForReviewers; + } + + /** + * Set the descriptionForReviewers property: The description provided by the access review creator to be shown to + * reviewers. + * + * @param descriptionForReviewers the descriptionForReviewers value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDescriptionForReviewers(String descriptionForReviewers) { + this.descriptionForReviewers = descriptionForReviewers; + return this; + } + + /** + * Get the innerCreatedBy property: The user or other identity who created this review. + * + * @return the innerCreatedBy value. + */ + private AccessReviewActorIdentity innerCreatedBy() { + return this.innerCreatedBy; + } + + /** + * Get the innerSettings property: Access Review Settings. + * + * @return the innerSettings value. + */ + private AccessReviewScheduleSettings innerSettings() { + return this.innerSettings; + } + + /** + * Get the innerScope property: This is used to define what to include in scope of the review. The scope definition + * includes the resourceId and roleDefinitionId. + * + * @return the innerScope value. + */ + private AccessReviewScope innerScope() { + return this.innerScope; + } + + /** + * Get the reviewers property: This is the collection of reviewers. + * + * @return the reviewers value. + */ + public List reviewers() { + return this.reviewers; + } + + /** + * Set the reviewers property: This is the collection of reviewers. + * + * @param reviewers the reviewers value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withReviewers(List reviewers) { + this.reviewers = reviewers; + return this; + } + + /** + * Get the reviewersType property: This field specifies the type of reviewers for a review. Usually for a review, + * reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be + * chosen dynamically. For example managers review or self review. + * + * @return the reviewersType value. + */ + public AccessReviewScheduleDefinitionReviewersType reviewersType() { + return this.reviewersType; + } + + /** + * Get the instances property: This is the collection of instances returned when one does an expand on it. + * + * @return the instances value. + */ + public List instances() { + return this.instances; + } + + /** + * Set the instances property: This is the collection of instances returned when one does an expand on it. + * + * @param instances the instances value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInstances(List instances) { + this.instances = instances; + return this; + } + + /** + * Get the principalId property: The identity id. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalId(); + } + + /** + * Get the principalType property: The identity type : user/servicePrincipal. + * + * @return the principalType value. + */ + public AccessReviewActorIdentityType principalType() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalType(); + } + + /** + * Get the principalName property: The identity display name. + * + * @return the principalName value. + */ + public String principalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().principalName(); + } + + /** + * Get the userPrincipalName property: The user principal name(if valid). + * + * @return the userPrincipalName value. + */ + public String userPrincipalName() { + return this.innerCreatedBy() == null ? null : this.innerCreatedBy().userPrincipalName(); + } + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().mailNotificationsEnabled(); + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withMailNotificationsEnabled(mailNotificationsEnabled); + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().reminderNotificationsEnabled(); + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withReminderNotificationsEnabled( + Boolean reminderNotificationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withReminderNotificationsEnabled(reminderNotificationsEnabled); + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().defaultDecisionEnabled(); + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withDefaultDecisionEnabled(defaultDecisionEnabled); + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.innerSettings() == null ? null : this.innerSettings().justificationRequiredOnApproval(); + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withJustificationRequiredOnApproval( + Boolean justificationRequiredOnApproval) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withJustificationRequiredOnApproval(justificationRequiredOnApproval); + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.innerSettings() == null ? null : this.innerSettings().defaultDecision(); + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withDefaultDecision(DefaultDecisionType defaultDecision) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withDefaultDecision(defaultDecision); + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().autoApplyDecisionsEnabled(); + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withAutoApplyDecisionsEnabled(autoApplyDecisionsEnabled); + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.innerSettings() == null ? null : this.innerSettings().recommendationsEnabled(); + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withRecommendationsEnabled(Boolean recommendationsEnabled) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withRecommendationsEnabled(recommendationsEnabled); + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.innerSettings() == null ? null : this.innerSettings().instanceDurationInDays(); + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInstanceDurationInDays(Integer instanceDurationInDays) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withInstanceDurationInDays(instanceDurationInDays); + return this; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerSettings() == null ? null : this.innerSettings().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withType(AccessReviewRecurrencePatternType type) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerSettings() == null ? null : this.innerSettings().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withInterval(Integer interval) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withInterval(interval); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerSettings() == null ? null : this.innerSettings().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerSettings() == null ? null : this.innerSettings().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withStartDate(OffsetDateTime startDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerSettings() == null ? null : this.innerSettings().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleDefinitionProperties object itself. + */ + public AccessReviewScheduleDefinitionProperties withEndDate(OffsetDateTime endDate) { + if (this.innerSettings() == null) { + this.innerSettings = new AccessReviewScheduleSettings(); + } + this.innerSettings().withEndDate(endDate); + return this; + } + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.innerScope() == null ? null : this.innerScope().resourceId(); + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerScope() == null ? null : this.innerScope().roleDefinitionId(); + } + + /** + * Get the principalType property: The identity type user/servicePrincipal to review. + * + * @return the principalType value. + */ + public AccessReviewScopePrincipalType principalType() { + return this.innerScope() == null ? null : this.innerScope().principalType(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerCreatedBy() != null) { + innerCreatedBy().validate(); + } + if (innerSettings() != null) { + innerSettings().validate(); + } + if (innerScope() != null) { + innerScope().validate(); + } + if (reviewers() != null) { + reviewers().forEach(e -> e.validate()); + } + if (instances() != null) { + instances().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java new file mode 100644 index 0000000000000..702b6e1365e2b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScheduleSettings.java @@ -0,0 +1,398 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Settings of an Access Review. */ +@Fluent +public final class AccessReviewScheduleSettings { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleSettings.class); + + /* + * Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + */ + @JsonProperty(value = "mailNotificationsEnabled") + private Boolean mailNotificationsEnabled; + + /* + * Flag to indicate whether sending reminder emails to reviewers are + * enabled. + */ + @JsonProperty(value = "reminderNotificationsEnabled") + private Boolean reminderNotificationsEnabled; + + /* + * Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + */ + @JsonProperty(value = "defaultDecisionEnabled") + private Boolean defaultDecisionEnabled; + + /* + * Flag to indicate whether the reviewer is required to pass justification + * when recording a decision. + */ + @JsonProperty(value = "justificationRequiredOnApproval") + private Boolean justificationRequiredOnApproval; + + /* + * This specifies the behavior for the autoReview feature when an access + * review completes. + */ + @JsonProperty(value = "defaultDecision") + private DefaultDecisionType defaultDecision; + + /* + * Flag to indicate whether auto-apply capability, to automatically change + * the target object access resource, is enabled. If not enabled, a user + * must, after the review completes, apply the access review. + */ + @JsonProperty(value = "autoApplyDecisionsEnabled") + private Boolean autoApplyDecisionsEnabled; + + /* + * Flag to indicate whether showing recommendations to reviewers is + * enabled. + */ + @JsonProperty(value = "recommendationsEnabled") + private Boolean recommendationsEnabled; + + /* + * The duration in days for an instance. + */ + @JsonProperty(value = "instanceDurationInDays") + private Integer instanceDurationInDays; + + /* + * Access Review Settings. + */ + @JsonProperty(value = "recurrence") + private AccessReviewRecurrenceSettings innerRecurrence; + + /** + * Get the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @return the mailNotificationsEnabled value. + */ + public Boolean mailNotificationsEnabled() { + return this.mailNotificationsEnabled; + } + + /** + * Set the mailNotificationsEnabled property: Flag to indicate whether sending mails to reviewers and the review + * creator is enabled. + * + * @param mailNotificationsEnabled the mailNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withMailNotificationsEnabled(Boolean mailNotificationsEnabled) { + this.mailNotificationsEnabled = mailNotificationsEnabled; + return this; + } + + /** + * Get the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @return the reminderNotificationsEnabled value. + */ + public Boolean reminderNotificationsEnabled() { + return this.reminderNotificationsEnabled; + } + + /** + * Set the reminderNotificationsEnabled property: Flag to indicate whether sending reminder emails to reviewers are + * enabled. + * + * @param reminderNotificationsEnabled the reminderNotificationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withReminderNotificationsEnabled(Boolean reminderNotificationsEnabled) { + this.reminderNotificationsEnabled = reminderNotificationsEnabled; + return this; + } + + /** + * Get the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @return the defaultDecisionEnabled value. + */ + public Boolean defaultDecisionEnabled() { + return this.defaultDecisionEnabled; + } + + /** + * Set the defaultDecisionEnabled property: Flag to indicate whether reviewers are required to provide a + * justification when reviewing access. + * + * @param defaultDecisionEnabled the defaultDecisionEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecisionEnabled(Boolean defaultDecisionEnabled) { + this.defaultDecisionEnabled = defaultDecisionEnabled; + return this; + } + + /** + * Get the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @return the justificationRequiredOnApproval value. + */ + public Boolean justificationRequiredOnApproval() { + return this.justificationRequiredOnApproval; + } + + /** + * Set the justificationRequiredOnApproval property: Flag to indicate whether the reviewer is required to pass + * justification when recording a decision. + * + * @param justificationRequiredOnApproval the justificationRequiredOnApproval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withJustificationRequiredOnApproval(Boolean justificationRequiredOnApproval) { + this.justificationRequiredOnApproval = justificationRequiredOnApproval; + return this; + } + + /** + * Get the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @return the defaultDecision value. + */ + public DefaultDecisionType defaultDecision() { + return this.defaultDecision; + } + + /** + * Set the defaultDecision property: This specifies the behavior for the autoReview feature when an access review + * completes. + * + * @param defaultDecision the defaultDecision value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withDefaultDecision(DefaultDecisionType defaultDecision) { + this.defaultDecision = defaultDecision; + return this; + } + + /** + * Get the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @return the autoApplyDecisionsEnabled value. + */ + public Boolean autoApplyDecisionsEnabled() { + return this.autoApplyDecisionsEnabled; + } + + /** + * Set the autoApplyDecisionsEnabled property: Flag to indicate whether auto-apply capability, to automatically + * change the target object access resource, is enabled. If not enabled, a user must, after the review completes, + * apply the access review. + * + * @param autoApplyDecisionsEnabled the autoApplyDecisionsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withAutoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) { + this.autoApplyDecisionsEnabled = autoApplyDecisionsEnabled; + return this; + } + + /** + * Get the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @return the recommendationsEnabled value. + */ + public Boolean recommendationsEnabled() { + return this.recommendationsEnabled; + } + + /** + * Set the recommendationsEnabled property: Flag to indicate whether showing recommendations to reviewers is + * enabled. + * + * @param recommendationsEnabled the recommendationsEnabled value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withRecommendationsEnabled(Boolean recommendationsEnabled) { + this.recommendationsEnabled = recommendationsEnabled; + return this; + } + + /** + * Get the instanceDurationInDays property: The duration in days for an instance. + * + * @return the instanceDurationInDays value. + */ + public Integer instanceDurationInDays() { + return this.instanceDurationInDays; + } + + /** + * Set the instanceDurationInDays property: The duration in days for an instance. + * + * @param instanceDurationInDays the instanceDurationInDays value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInstanceDurationInDays(Integer instanceDurationInDays) { + this.instanceDurationInDays = instanceDurationInDays; + return this; + } + + /** + * Get the innerRecurrence property: Access Review Settings. + * + * @return the innerRecurrence value. + */ + private AccessReviewRecurrenceSettings innerRecurrence() { + return this.innerRecurrence; + } + + /** + * Get the type property: The recurrence type : weekly, monthly, etc. + * + * @return the type value. + */ + public AccessReviewRecurrencePatternType type() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().type(); + } + + /** + * Set the type property: The recurrence type : weekly, monthly, etc. + * + * @param type the type value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withType(AccessReviewRecurrencePatternType type) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withType(type); + return this; + } + + /** + * Get the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @return the interval value. + */ + public Integer interval() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().interval(); + } + + /** + * Set the interval property: The interval for recurrence. For a quarterly review, the interval is 3 for type : + * absoluteMonthly. + * + * @param interval the interval value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withInterval(Integer interval) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withInterval(interval); + return this; + } + + /** + * Get the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @return the numberOfOccurrences value. + */ + public Integer numberOfOccurrences() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().numberOfOccurrences(); + } + + /** + * Set the numberOfOccurrences property: The number of times to repeat the access review. Required and must be + * positive if type is numbered. + * + * @param numberOfOccurrences the numberOfOccurrences value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withNumberOfOccurrences(Integer numberOfOccurrences) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withNumberOfOccurrences(numberOfOccurrences); + return this; + } + + /** + * Get the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @return the startDate value. + */ + public OffsetDateTime startDate() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().startDate(); + } + + /** + * Set the startDate property: The DateTime when the review is scheduled to be start. This could be a date in the + * future. Required on create. + * + * @param startDate the startDate value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withStartDate(OffsetDateTime startDate) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withStartDate(startDate); + return this; + } + + /** + * Get the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @return the endDate value. + */ + public OffsetDateTime endDate() { + return this.innerRecurrence() == null ? null : this.innerRecurrence().endDate(); + } + + /** + * Set the endDate property: The DateTime when the review is scheduled to end. Required if type is endDate. + * + * @param endDate the endDate value to set. + * @return the AccessReviewScheduleSettings object itself. + */ + public AccessReviewScheduleSettings withEndDate(OffsetDateTime endDate) { + if (this.innerRecurrence() == null) { + this.innerRecurrence = new AccessReviewRecurrenceSettings(); + } + this.innerRecurrence().withEndDate(endDate); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerRecurrence() != null) { + innerRecurrence().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java new file mode 100644 index 0000000000000..9dcef4839dc30 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/AccessReviewScope.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewScopePrincipalType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Descriptor for what needs to be reviewed. */ +@Immutable +public final class AccessReviewScope { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScope.class); + + /* + * ResourceId in which this review is getting created + */ + @JsonProperty(value = "resourceId", access = JsonProperty.Access.WRITE_ONLY) + private String resourceId; + + /* + * This is used to indicate the role being reviewed + */ + @JsonProperty(value = "roleDefinitionId", access = JsonProperty.Access.WRITE_ONLY) + private String roleDefinitionId; + + /* + * The identity type user/servicePrincipal to review + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private AccessReviewScopePrincipalType principalType; + + /** + * Get the resourceId property: ResourceId in which this review is getting created. + * + * @return the resourceId value. + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Get the roleDefinitionId property: This is used to indicate the role being reviewed. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Get the principalType property: The identity type user/servicePrincipal to review. + * + * @return the principalType value. + */ + public AccessReviewScopePrincipalType principalType() { + return this.principalType; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java new file mode 100644 index 0000000000000..346be4e391015 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentInner.java @@ -0,0 +1,278 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignmentPermission; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny Assignment. */ +@Fluent +public final class DenyAssignmentInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentInner.class); + + /* + * The deny assignment ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The deny assignment name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The deny assignment type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Deny assignment properties. + */ + @JsonProperty(value = "properties") + private DenyAssignmentProperties innerProperties; + + /** + * Get the id property: The deny assignment ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The deny assignment name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The deny assignment type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Deny assignment properties. + * + * @return the innerProperties value. + */ + private DenyAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the denyAssignmentName property: The display name of the deny assignment. + * + * @return the denyAssignmentName value. + */ + public String denyAssignmentName() { + return this.innerProperties() == null ? null : this.innerProperties().denyAssignmentName(); + } + + /** + * Set the denyAssignmentName property: The display name of the deny assignment. + * + * @param denyAssignmentName the denyAssignmentName value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDenyAssignmentName(String denyAssignmentName) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDenyAssignmentName(denyAssignmentName); + return this; + } + + /** + * Get the description property: The description of the deny assignment. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The description of the deny assignment. + * + * @param description the description value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the permissions property: An array of permissions that are denied by the deny assignment. + * + * @return the permissions value. + */ + public List permissions() { + return this.innerProperties() == null ? null : this.innerProperties().permissions(); + } + + /** + * Set the permissions property: An array of permissions that are denied by the deny assignment. + * + * @param permissions the permissions value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withPermissions(List permissions) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withPermissions(permissions); + return this; + } + + /** + * Get the scope property: The deny assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The deny assignment scope. + * + * @param scope the scope value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @return the doNotApplyToChildScopes value. + */ + public Boolean doNotApplyToChildScopes() { + return this.innerProperties() == null ? null : this.innerProperties().doNotApplyToChildScopes(); + } + + /** + * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withDoNotApplyToChildScopes(doNotApplyToChildScopes); + return this; + } + + /** + * Get the principals property: Array of principals to which the deny assignment applies. + * + * @return the principals value. + */ + public List principals() { + return this.innerProperties() == null ? null : this.innerProperties().principals(); + } + + /** + * Set the principals property: Array of principals to which the deny assignment applies. + * + * @param principals the principals value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withPrincipals(List principals) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withPrincipals(principals); + return this; + } + + /** + * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @return the excludePrincipals value. + */ + public List excludePrincipals() { + return this.innerProperties() == null ? null : this.innerProperties().excludePrincipals(); + } + + /** + * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @param excludePrincipals the excludePrincipals value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withExcludePrincipals(List excludePrincipals) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withExcludePrincipals(excludePrincipals); + return this; + } + + /** + * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @return the isSystemProtected value. + */ + public Boolean isSystemProtected() { + return this.innerProperties() == null ? null : this.innerProperties().isSystemProtected(); + } + + /** + * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @param isSystemProtected the isSystemProtected value to set. + * @return the DenyAssignmentInner object itself. + */ + public DenyAssignmentInner withIsSystemProtected(Boolean isSystemProtected) { + if (this.innerProperties() == null) { + this.innerProperties = new DenyAssignmentProperties(); + } + this.innerProperties().withIsSystemProtected(isSystemProtected); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java new file mode 100644 index 0000000000000..a6c93ffc76173 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/DenyAssignmentProperties.java @@ -0,0 +1,250 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.DenyAssignmentPermission; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment properties. */ +@Fluent +public final class DenyAssignmentProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentProperties.class); + + /* + * The display name of the deny assignment. + */ + @JsonProperty(value = "denyAssignmentName") + private String denyAssignmentName; + + /* + * The description of the deny assignment. + */ + @JsonProperty(value = "description") + private String description; + + /* + * An array of permissions that are denied by the deny assignment. + */ + @JsonProperty(value = "permissions") + private List permissions; + + /* + * The deny assignment scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * Determines if the deny assignment applies to child scopes. Default value + * is false. + */ + @JsonProperty(value = "doNotApplyToChildScopes") + private Boolean doNotApplyToChildScopes; + + /* + * Array of principals to which the deny assignment applies. + */ + @JsonProperty(value = "principals") + private List principals; + + /* + * Array of principals to which the deny assignment does not apply. + */ + @JsonProperty(value = "excludePrincipals") + private List excludePrincipals; + + /* + * Specifies whether this deny assignment was created by Azure and cannot + * be edited or deleted. + */ + @JsonProperty(value = "isSystemProtected") + private Boolean isSystemProtected; + + /** + * Get the denyAssignmentName property: The display name of the deny assignment. + * + * @return the denyAssignmentName value. + */ + public String denyAssignmentName() { + return this.denyAssignmentName; + } + + /** + * Set the denyAssignmentName property: The display name of the deny assignment. + * + * @param denyAssignmentName the denyAssignmentName value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDenyAssignmentName(String denyAssignmentName) { + this.denyAssignmentName = denyAssignmentName; + return this; + } + + /** + * Get the description property: The description of the deny assignment. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The description of the deny assignment. + * + * @param description the description value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the permissions property: An array of permissions that are denied by the deny assignment. + * + * @return the permissions value. + */ + public List permissions() { + return this.permissions; + } + + /** + * Set the permissions property: An array of permissions that are denied by the deny assignment. + * + * @param permissions the permissions value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withPermissions(List permissions) { + this.permissions = permissions; + return this; + } + + /** + * Get the scope property: The deny assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The deny assignment scope. + * + * @param scope the scope value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @return the doNotApplyToChildScopes value. + */ + public Boolean doNotApplyToChildScopes() { + return this.doNotApplyToChildScopes; + } + + /** + * Set the doNotApplyToChildScopes property: Determines if the deny assignment applies to child scopes. Default + * value is false. + * + * @param doNotApplyToChildScopes the doNotApplyToChildScopes value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withDoNotApplyToChildScopes(Boolean doNotApplyToChildScopes) { + this.doNotApplyToChildScopes = doNotApplyToChildScopes; + return this; + } + + /** + * Get the principals property: Array of principals to which the deny assignment applies. + * + * @return the principals value. + */ + public List principals() { + return this.principals; + } + + /** + * Set the principals property: Array of principals to which the deny assignment applies. + * + * @param principals the principals value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withPrincipals(List principals) { + this.principals = principals; + return this; + } + + /** + * Get the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @return the excludePrincipals value. + */ + public List excludePrincipals() { + return this.excludePrincipals; + } + + /** + * Set the excludePrincipals property: Array of principals to which the deny assignment does not apply. + * + * @param excludePrincipals the excludePrincipals value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withExcludePrincipals(List excludePrincipals) { + this.excludePrincipals = excludePrincipals; + return this; + } + + /** + * Get the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @return the isSystemProtected value. + */ + public Boolean isSystemProtected() { + return this.isSystemProtected; + } + + /** + * Set the isSystemProtected property: Specifies whether this deny assignment was created by Azure and cannot be + * edited or deleted. + * + * @param isSystemProtected the isSystemProtected value to set. + * @return the DenyAssignmentProperties object itself. + */ + public DenyAssignmentProperties withIsSystemProtected(Boolean isSystemProtected) { + this.isSystemProtected = isSystemProtected; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (permissions() != null) { + permissions().forEach(e -> e.validate()); + } + if (principals() != null) { + principals().forEach(e -> e.validate()); + } + if (excludePrincipals() != null) { + excludePrincipals().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java new file mode 100644 index 0000000000000..6dc8a7e45b5ee --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/EligibleChildResourceInner.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Eligible child resource. */ +@Immutable +public final class EligibleChildResourceInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(EligibleChildResourceInner.class); + + /* + * The resource scope Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The resource name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The resource type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /** + * Get the id property: The resource scope Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The resource name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The resource type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java new file mode 100644 index 0000000000000..d18a01d6d2212 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/OperationInner.java @@ -0,0 +1,132 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.OperationDisplay; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The definition of a Microsoft.Authorization operation. */ +@Fluent +public final class OperationInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class); + + /* + * Name of the operation + */ + @JsonProperty(value = "name") + private String name; + + /* + * Indicates whether the operation is a data action + */ + @JsonProperty(value = "isDataAction") + private Boolean isDataAction; + + /* + * Display of the operation + */ + @JsonProperty(value = "display") + private OperationDisplay display; + + /* + * Origin of the operation + */ + @JsonProperty(value = "origin") + private String origin; + + /** + * Get the name property: Name of the operation. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: Name of the operation. + * + * @param name the name value to set. + * @return the OperationInner object itself. + */ + public OperationInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get the isDataAction property: Indicates whether the operation is a data action. + * + * @return the isDataAction value. + */ + public Boolean isDataAction() { + return this.isDataAction; + } + + /** + * Set the isDataAction property: Indicates whether the operation is a data action. + * + * @param isDataAction the isDataAction value to set. + * @return the OperationInner object itself. + */ + public OperationInner withIsDataAction(Boolean isDataAction) { + this.isDataAction = isDataAction; + return this; + } + + /** + * Get the display property: Display of the operation. + * + * @return the display value. + */ + public OperationDisplay display() { + return this.display; + } + + /** + * Set the display property: Display of the operation. + * + * @param display the display value to set. + * @return the OperationInner object itself. + */ + public OperationInner withDisplay(OperationDisplay display) { + this.display = display; + return this; + } + + /** + * Get the origin property: Origin of the operation. + * + * @return the origin value. + */ + public String origin() { + return this.origin; + } + + /** + * Set the origin property: Origin of the operation. + * + * @param origin the origin value to set. + * @return the OperationInner object itself. + */ + public OperationInner withOrigin(String origin) { + this.origin = origin; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (display() != null) { + display().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java new file mode 100644 index 0000000000000..43bc4095fc454 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/PermissionInner.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition permissions. */ +@Fluent +public final class PermissionInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PermissionInner.class); + + /* + * Allowed actions. + */ + @JsonProperty(value = "actions") + private List actions; + + /* + * Denied actions. + */ + @JsonProperty(value = "notActions") + private List notActions; + + /* + * Allowed Data actions. + */ + @JsonProperty(value = "dataActions") + private List dataActions; + + /* + * Denied Data actions. + */ + @JsonProperty(value = "notDataActions") + private List notDataActions; + + /** + * Get the actions property: Allowed actions. + * + * @return the actions value. + */ + public List actions() { + return this.actions; + } + + /** + * Set the actions property: Allowed actions. + * + * @param actions the actions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withActions(List actions) { + this.actions = actions; + return this; + } + + /** + * Get the notActions property: Denied actions. + * + * @return the notActions value. + */ + public List notActions() { + return this.notActions; + } + + /** + * Set the notActions property: Denied actions. + * + * @param notActions the notActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withNotActions(List notActions) { + this.notActions = notActions; + return this; + } + + /** + * Get the dataActions property: Allowed Data actions. + * + * @return the dataActions value. + */ + public List dataActions() { + return this.dataActions; + } + + /** + * Set the dataActions property: Allowed Data actions. + * + * @param dataActions the dataActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withDataActions(List dataActions) { + this.dataActions = dataActions; + return this; + } + + /** + * Get the notDataActions property: Denied Data actions. + * + * @return the notDataActions value. + */ + public List notDataActions() { + return this.notDataActions; + } + + /** + * Set the notDataActions property: Denied Data actions. + * + * @param notDataActions the notDataActions value to set. + * @return the PermissionInner object itself. + */ + public PermissionInner withNotDataActions(List notDataActions) { + this.notDataActions = notDataActions; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java new file mode 100644 index 0000000000000..45a10f33c2919 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ProviderOperationsMetadataInner.java @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ProviderOperation; +import com.azure.resourcemanager.authorization.generated.models.ResourceType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Provider Operations metadata. */ +@Fluent +public final class ProviderOperationsMetadataInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ProviderOperationsMetadataInner.class); + + /* + * The provider id. + */ + @JsonProperty(value = "id") + private String id; + + /* + * The provider name. + */ + @JsonProperty(value = "name") + private String name; + + /* + * The provider type. + */ + @JsonProperty(value = "type") + private String type; + + /* + * The provider display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The provider resource types + */ + @JsonProperty(value = "resourceTypes") + private List resourceTypes; + + /* + * The provider operations. + */ + @JsonProperty(value = "operations") + private List operations; + + /** + * Get the id property: The provider id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Set the id property: The provider id. + * + * @param id the id value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withId(String id) { + this.id = id; + return this; + } + + /** + * Get the name property: The provider name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Set the name property: The provider name. + * + * @param name the name value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withName(String name) { + this.name = name; + return this; + } + + /** + * Get the type property: The provider type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Set the type property: The provider type. + * + * @param type the type value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withType(String type) { + this.type = type; + return this; + } + + /** + * Get the displayName property: The provider display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The provider display name. + * + * @param displayName the displayName value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the resourceTypes property: The provider resource types. + * + * @return the resourceTypes value. + */ + public List resourceTypes() { + return this.resourceTypes; + } + + /** + * Set the resourceTypes property: The provider resource types. + * + * @param resourceTypes the resourceTypes value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withResourceTypes(List resourceTypes) { + this.resourceTypes = resourceTypes; + return this; + } + + /** + * Get the operations property: The provider operations. + * + * @return the operations value. + */ + public List operations() { + return this.operations; + } + + /** + * Set the operations property: The provider operations. + * + * @param operations the operations value to set. + * @return the ProviderOperationsMetadataInner object itself. + */ + public ProviderOperationsMetadataInner withOperations(List operations) { + this.operations = operations; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (resourceTypes() != null) { + resourceTypes().forEach(e -> e.validate()); + } + if (operations() != null) { + operations().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java new file mode 100644 index 0000000000000..70d27c67babe0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentInner.java @@ -0,0 +1,255 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.management.ProxyResource; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignments. */ +@Fluent +public final class RoleAssignmentInner extends ProxyResource { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentInner.class); + + /* + * Role assignment properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentProperties innerProperties; + + /** + * Get the innerProperties property: Role assignment properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the description property: Description of role assignment. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: Description of role assignment. + * + * @param description the description value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Get the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + public String createdBy() { + return this.innerProperties() == null ? null : this.innerProperties().createdBy(); + } + + /** + * Get the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + public String updatedBy() { + return this.innerProperties() == null ? null : this.innerProperties().updatedBy(); + } + + /** + * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + public String delegatedManagedIdentityResourceId() { + return this.innerProperties() == null ? null : this.innerProperties().delegatedManagedIdentityResourceId(); + } + + /** + * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set. + * @return the RoleAssignmentInner object itself. + */ + public RoleAssignmentInner withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentProperties(); + } + this.innerProperties().withDelegatedManagedIdentityResourceId(delegatedManagedIdentityResourceId); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java new file mode 100644 index 0000000000000..c14a3724794e7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentMetricsResultInner.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role Assignment Metrics. */ +@Immutable +public final class RoleAssignmentMetricsResultInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentMetricsResultInner.class); + + /* + * The subscription ID. + */ + @JsonProperty(value = "subscriptionId", access = JsonProperty.Access.WRITE_ONLY) + private String subscriptionId; + + /* + * The role assignment limit. + */ + @JsonProperty(value = "roleAssignmentsLimit", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsLimit; + + /* + * The number of current role assignments. + */ + @JsonProperty(value = "roleAssignmentsCurrentCount", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsCurrentCount; + + /* + * The number of remaining role assignments available. + */ + @JsonProperty(value = "roleAssignmentsRemainingCount", access = JsonProperty.Access.WRITE_ONLY) + private Long roleAssignmentsRemainingCount; + + /** + * Get the subscriptionId property: The subscription ID. + * + * @return the subscriptionId value. + */ + public String subscriptionId() { + return this.subscriptionId; + } + + /** + * Get the roleAssignmentsLimit property: The role assignment limit. + * + * @return the roleAssignmentsLimit value. + */ + public Long roleAssignmentsLimit() { + return this.roleAssignmentsLimit; + } + + /** + * Get the roleAssignmentsCurrentCount property: The number of current role assignments. + * + * @return the roleAssignmentsCurrentCount value. + */ + public Long roleAssignmentsCurrentCount() { + return this.roleAssignmentsCurrentCount; + } + + /** + * Get the roleAssignmentsRemainingCount property: The number of remaining role assignments available. + * + * @return the roleAssignmentsRemainingCount value. + */ + public Long roleAssignmentsRemainingCount() { + return this.roleAssignmentsRemainingCount; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java new file mode 100644 index 0000000000000..7fb1592673baf --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentProperties.java @@ -0,0 +1,302 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment properties. */ +@Fluent +public final class RoleAssignmentProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentProperties.class); + + /* + * The role assignment scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Description of role assignment + */ + @JsonProperty(value = "description") + private String description; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * Time it was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Time it was updated + */ + @JsonProperty(value = "updatedOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime updatedOn; + + /* + * Id of the user who created the assignment + */ + @JsonProperty(value = "createdBy", access = JsonProperty.Access.WRITE_ONLY) + private String createdBy; + + /* + * Id of the user who updated the assignment + */ + @JsonProperty(value = "updatedBy", access = JsonProperty.Access.WRITE_ONLY) + private String updatedBy; + + /* + * Id of the delegated managed identity resource + */ + @JsonProperty(value = "delegatedManagedIdentityResourceId") + private String delegatedManagedIdentityResourceId; + + /** + * Get the scope property: The role assignment scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the description property: Description of role assignment. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: Description of role assignment. + * + * @param description the description value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: Time it was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the updatedOn property: Time it was updated. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Get the createdBy property: Id of the user who created the assignment. + * + * @return the createdBy value. + */ + public String createdBy() { + return this.createdBy; + } + + /** + * Get the updatedBy property: Id of the user who updated the assignment. + * + * @return the updatedBy value. + */ + public String updatedBy() { + return this.updatedBy; + } + + /** + * Get the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @return the delegatedManagedIdentityResourceId value. + */ + public String delegatedManagedIdentityResourceId() { + return this.delegatedManagedIdentityResourceId; + } + + /** + * Set the delegatedManagedIdentityResourceId property: Id of the delegated managed identity resource. + * + * @param delegatedManagedIdentityResourceId the delegatedManagedIdentityResourceId value to set. + * @return the RoleAssignmentProperties object itself. + */ + public RoleAssignmentProperties withDelegatedManagedIdentityResourceId(String delegatedManagedIdentityResourceId) { + this.delegatedManagedIdentityResourceId = delegatedManagedIdentityResourceId; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model RoleAssignmentProperties")); + } + if (principalId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleAssignmentProperties")); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java new file mode 100644 index 0000000000000..d1f68fb5282a9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInner.java @@ -0,0 +1,469 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInner.class); + + /* + * The role assignment schedule Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleProperties innerProperties; + + /** + * Get the id property: The role assignment schedule Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleAssignmentScheduleRequestId value. + */ + public String roleAssignmentScheduleRequestId() { + return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleRequestId(); + } + + /** + * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withRoleAssignmentScheduleRequestId(String roleAssignmentScheduleRequestId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withRoleAssignmentScheduleRequestId(roleAssignmentScheduleRequestId); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withLinkedRoleEligibilityScheduleId(String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.innerProperties() == null ? null : this.innerProperties().assignmentType(); + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withAssignmentType(AssignmentType assignmentType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withAssignmentType(assignmentType); + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role assignment schedule. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role assignment schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: Start DateTime when role assignment schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: End DateTime when role assignment schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: End DateTime when role assignment schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the updatedOn property: DateTime when role assignment schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Set the updatedOn property: DateTime when role assignment schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withUpdatedOn(OffsetDateTime updatedOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withUpdatedOn(updatedOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInner object itself. + */ + public RoleAssignmentScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java new file mode 100644 index 0000000000000..b679bfd277ca3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceInner.java @@ -0,0 +1,492 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Information about current or upcoming role assignment schedule instance. */ +@Fluent +public final class RoleAssignmentScheduleInstanceInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstanceInner.class); + + /* + * The role assignment schedule instance ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule instance name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule instance type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule instance properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleInstanceProperties innerProperties; + + /** + * Get the id property: The role assignment schedule instance ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule instance name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule instance type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule instance properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @return the roleAssignmentScheduleId value. + */ + public String roleAssignmentScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().roleAssignmentScheduleId(); + } + + /** + * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withRoleAssignmentScheduleId(String roleAssignmentScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withRoleAssignmentScheduleId(roleAssignmentScheduleId); + return this; + } + + /** + * Get the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @return the originRoleAssignmentId value. + */ + public String originRoleAssignmentId() { + return this.innerProperties() == null ? null : this.innerProperties().originRoleAssignmentId(); + } + + /** + * Set the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @param originRoleAssignmentId the originRoleAssignmentId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withOriginRoleAssignmentId(String originRoleAssignmentId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withOriginRoleAssignmentId(originRoleAssignmentId); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role assignment schedule instance. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @return the linkedRoleEligibilityScheduleInstanceId value. + */ + public String linkedRoleEligibilityScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleInstanceId(); + } + + /** + * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withLinkedRoleEligibilityScheduleInstanceId( + String linkedRoleEligibilityScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleInstanceId(linkedRoleEligibilityScheduleInstanceId); + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.innerProperties() == null ? null : this.innerProperties().assignmentType(); + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withAssignmentType(AssignmentType assignmentType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withAssignmentType(assignmentType); + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInstanceInner object itself. + */ + public RoleAssignmentScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleInstanceProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java new file mode 100644 index 0000000000000..aefa8513acbf6 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleInstanceProperties.java @@ -0,0 +1,487 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleInstanceProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstanceProperties.class); + + /* + * The role assignment schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Id of the master role assignment schedule + */ + @JsonProperty(value = "roleAssignmentScheduleId") + private String roleAssignmentScheduleId; + + /* + * Role Assignment Id in external system + */ + @JsonProperty(value = "originRoleAssignmentId") + private String originRoleAssignmentId; + + /* + * The status of the role assignment schedule instance. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * The startDateTime of the role assignment schedule instance + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The endDateTime of the role assignment schedule instance + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * roleEligibilityScheduleId used to activate + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleInstanceId") + private String linkedRoleEligibilityScheduleInstanceId; + + /* + * Assignment type of the role assignment schedule + */ + @JsonProperty(value = "assignmentType") + private AssignmentType assignmentType; + + /* + * Membership type of the role assignment schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @return the roleAssignmentScheduleId value. + */ + public String roleAssignmentScheduleId() { + return this.roleAssignmentScheduleId; + } + + /** + * Set the roleAssignmentScheduleId property: Id of the master role assignment schedule. + * + * @param roleAssignmentScheduleId the roleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withRoleAssignmentScheduleId(String roleAssignmentScheduleId) { + this.roleAssignmentScheduleId = roleAssignmentScheduleId; + return this; + } + + /** + * Get the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @return the originRoleAssignmentId value. + */ + public String originRoleAssignmentId() { + return this.originRoleAssignmentId; + } + + /** + * Set the originRoleAssignmentId property: Role Assignment Id in external system. + * + * @param originRoleAssignmentId the originRoleAssignmentId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withOriginRoleAssignmentId(String originRoleAssignmentId) { + this.originRoleAssignmentId = originRoleAssignmentId; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role assignment schedule instance. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The startDateTime of the role assignment schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The endDateTime of the role assignment schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: roleEligibilityScheduleId used to activate. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @return the linkedRoleEligibilityScheduleInstanceId value. + */ + public String linkedRoleEligibilityScheduleInstanceId() { + return this.linkedRoleEligibilityScheduleInstanceId; + } + + /** + * Set the linkedRoleEligibilityScheduleInstanceId property: roleEligibilityScheduleInstanceId linked to this + * roleAssignmentScheduleInstance. + * + * @param linkedRoleEligibilityScheduleInstanceId the linkedRoleEligibilityScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withLinkedRoleEligibilityScheduleInstanceId( + String linkedRoleEligibilityScheduleInstanceId) { + this.linkedRoleEligibilityScheduleInstanceId = linkedRoleEligibilityScheduleInstanceId; + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.assignmentType; + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withAssignmentType(AssignmentType assignmentType) { + this.assignmentType = assignmentType; + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleInstanceProperties object itself. + */ + public RoleAssignmentScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java new file mode 100644 index 0000000000000..0516867dd2c1e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleProperties.java @@ -0,0 +1,464 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.AssignmentType; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleProperties.class); + + /* + * The role assignment schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule + */ + @JsonProperty(value = "roleAssignmentScheduleRequestId") + private String roleAssignmentScheduleRequestId; + + /* + * The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * Assignment type of the role assignment schedule + */ + @JsonProperty(value = "assignmentType") + private AssignmentType assignmentType; + + /* + * Membership type of the role assignment schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The status of the role assignment schedule. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * Start DateTime when role assignment schedule + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * End DateTime when role assignment schedule + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * DateTime when role assignment schedule was modified + */ + @JsonProperty(value = "updatedOn") + private OffsetDateTime updatedOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role assignment schedule scope. + * + * @param scope the scope value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleAssignmentScheduleRequestId value. + */ + public String roleAssignmentScheduleRequestId() { + return this.roleAssignmentScheduleRequestId; + } + + /** + * Set the roleAssignmentScheduleRequestId property: The id of roleAssignmentScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleAssignmentScheduleRequestId the roleAssignmentScheduleRequestId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withRoleAssignmentScheduleRequestId( + String roleAssignmentScheduleRequestId) { + this.roleAssignmentScheduleRequestId = roleAssignmentScheduleRequestId; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The id of roleEligibilitySchedule used to activated this + * roleAssignmentSchedule. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the assignmentType property: Assignment type of the role assignment schedule. + * + * @return the assignmentType value. + */ + public AssignmentType assignmentType() { + return this.assignmentType; + } + + /** + * Set the assignmentType property: Assignment type of the role assignment schedule. + * + * @param assignmentType the assignmentType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withAssignmentType(AssignmentType assignmentType) { + this.assignmentType = assignmentType; + return this; + } + + /** + * Get the memberType property: Membership type of the role assignment schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role assignment schedule. + * + * @param memberType the memberType value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role assignment schedule. + * + * @param status the status value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role assignment schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime when role assignment schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: End DateTime when role assignment schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime when role assignment schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role assignment schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the updatedOn property: DateTime when role assignment schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Set the updatedOn property: DateTime when role assignment schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) { + this.updatedOn = updatedOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleAssignmentScheduleProperties object itself. + */ + public RoleAssignmentScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java new file mode 100644 index 0000000000000..60ce1a4036400 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestInner.java @@ -0,0 +1,425 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Assignment schedule request. */ +@Fluent +public final class RoleAssignmentScheduleRequestInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestInner.class); + + /* + * The role assignment schedule request ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role assignment schedule request name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role assignment schedule request type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role assignment schedule request properties. + */ + @JsonProperty(value = "properties") + private RoleAssignmentScheduleRequestProperties innerProperties; + + /** + * Get the id property: The role assignment schedule request ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role assignment schedule request name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role assignment schedule request type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role assignment schedule request properties. + * + * @return the innerProperties value. + */ + private RoleAssignmentScheduleRequestProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role assignment schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.innerProperties() == null ? null : this.innerProperties().requestType(); + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withRequestType(RequestType requestType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withRequestType(requestType); + return this; + } + + /** + * Get the status property: The status of the role assignment schedule request. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the approvalId property: The approvalId of the role assignment schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.innerProperties() == null ? null : this.innerProperties().approvalId(); + } + + /** + * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @return the targetRoleAssignmentScheduleId value. + */ + public String targetRoleAssignmentScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleId(); + } + + /** + * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleId( + String targetRoleAssignmentScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleAssignmentScheduleId(targetRoleAssignmentScheduleId); + return this; + } + + /** + * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @return the targetRoleAssignmentScheduleInstanceId value. + */ + public String targetRoleAssignmentScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleAssignmentScheduleInstanceId(); + } + + /** + * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTargetRoleAssignmentScheduleInstanceId( + String targetRoleAssignmentScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleAssignmentScheduleInstanceId(targetRoleAssignmentScheduleInstanceId); + return this; + } + + /** + * Get the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @return the scheduleInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo(); + } + + /** + * Set the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withScheduleInfo( + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withScheduleInfo(scheduleInfo); + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().linkedRoleEligibilityScheduleId(); + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withLinkedRoleEligibilityScheduleId(linkedRoleEligibilityScheduleId); + return this; + } + + /** + * Get the justification property: Justification for the role assignment. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification for the role assignment. + * + * @param justification the justification value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role assignment. + * + * @return the ticketInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerProperties() == null ? null : this.innerProperties().ticketInfo(); + } + + /** + * Set the ticketInfo property: Ticket Info of the role assignment. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withTicketInfo( + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withTicketInfo(ticketInfo); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleRequestInner object itself. + */ + public RoleAssignmentScheduleRequestInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleAssignmentScheduleRequestProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.innerProperties() == null ? null : this.innerProperties().requestorId(); + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java new file mode 100644 index 0000000000000..1d283e872d244 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleAssignmentScheduleRequestProperties.java @@ -0,0 +1,469 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleAssignmentScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment schedule request properties with scope. */ +@Fluent +public final class RoleAssignmentScheduleRequestProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestProperties.class); + + /* + * The role assignment schedule request scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private PrincipalType principalType; + + /* + * The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc + */ + @JsonProperty(value = "requestType", required = true) + private RequestType requestType; + + /* + * The status of the role assignment schedule request. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private Status status; + + /* + * The approvalId of the role assignment schedule request. + */ + @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY) + private String approvalId; + + /* + * The resultant role assignment schedule id or the role assignment + * schedule id being updated + */ + @JsonProperty(value = "targetRoleAssignmentScheduleId") + private String targetRoleAssignmentScheduleId; + + /* + * The role assignment schedule instance id being updated + */ + @JsonProperty(value = "targetRoleAssignmentScheduleInstanceId") + private String targetRoleAssignmentScheduleInstanceId; + + /* + * Schedule info of the role assignment schedule + */ + @JsonProperty(value = "scheduleInfo") + private RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo; + + /* + * The linked role eligibility schedule id - to activate an eligibility. + */ + @JsonProperty(value = "linkedRoleEligibilityScheduleId") + private String linkedRoleEligibilityScheduleId; + + /* + * Justification for the role assignment + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Ticket Info of the role assignment + */ + @JsonProperty(value = "ticketInfo") + private RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role assignment schedule request was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Id of the user who created this request + */ + @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY) + private String requestorId; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY) + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role assignment schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.requestType; + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withRequestType(RequestType requestType) { + this.requestType = requestType; + return this; + } + + /** + * Get the status property: The status of the role assignment schedule request. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Get the approvalId property: The approvalId of the role assignment schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.approvalId; + } + + /** + * Get the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @return the targetRoleAssignmentScheduleId value. + */ + public String targetRoleAssignmentScheduleId() { + return this.targetRoleAssignmentScheduleId; + } + + /** + * Set the targetRoleAssignmentScheduleId property: The resultant role assignment schedule id or the role assignment + * schedule id being updated. + * + * @param targetRoleAssignmentScheduleId the targetRoleAssignmentScheduleId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleId( + String targetRoleAssignmentScheduleId) { + this.targetRoleAssignmentScheduleId = targetRoleAssignmentScheduleId; + return this; + } + + /** + * Get the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @return the targetRoleAssignmentScheduleInstanceId value. + */ + public String targetRoleAssignmentScheduleInstanceId() { + return this.targetRoleAssignmentScheduleInstanceId; + } + + /** + * Set the targetRoleAssignmentScheduleInstanceId property: The role assignment schedule instance id being updated. + * + * @param targetRoleAssignmentScheduleInstanceId the targetRoleAssignmentScheduleInstanceId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTargetRoleAssignmentScheduleInstanceId( + String targetRoleAssignmentScheduleInstanceId) { + this.targetRoleAssignmentScheduleInstanceId = targetRoleAssignmentScheduleInstanceId; + return this; + } + + /** + * Get the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @return the scheduleInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.scheduleInfo; + } + + /** + * Set the scheduleInfo property: Schedule info of the role assignment schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withScheduleInfo( + RoleAssignmentScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.scheduleInfo = scheduleInfo; + return this; + } + + /** + * Get the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @return the linkedRoleEligibilityScheduleId value. + */ + public String linkedRoleEligibilityScheduleId() { + return this.linkedRoleEligibilityScheduleId; + } + + /** + * Set the linkedRoleEligibilityScheduleId property: The linked role eligibility schedule id - to activate an + * eligibility. + * + * @param linkedRoleEligibilityScheduleId the linkedRoleEligibilityScheduleId value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withLinkedRoleEligibilityScheduleId( + String linkedRoleEligibilityScheduleId) { + this.linkedRoleEligibilityScheduleId = linkedRoleEligibilityScheduleId; + return this; + } + + /** + * Get the justification property: Justification for the role assignment. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification for the role assignment. + * + * @param justification the justification value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role assignment. + * + * @return the ticketInfo value. + */ + public RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.ticketInfo; + } + + /** + * Set the ticketInfo property: Ticket Info of the role assignment. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withTicketInfo( + RoleAssignmentScheduleRequestPropertiesTicketInfo ticketInfo) { + this.ticketInfo = ticketInfo; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleAssignmentScheduleRequestProperties object itself. + */ + public RoleAssignmentScheduleRequestProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role assignment schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.requestorId; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model RoleAssignmentScheduleRequestProperties")); + } + if (principalId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleAssignmentScheduleRequestProperties")); + } + if (requestType() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property requestType in model RoleAssignmentScheduleRequestProperties")); + } + if (scheduleInfo() != null) { + scheduleInfo().validate(); + } + if (ticketInfo() != null) { + ticketInfo().validate(); + } + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java new file mode 100644 index 0000000000000..df039ac89fdb3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionInner.java @@ -0,0 +1,203 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition. */ +@Fluent +public final class RoleDefinitionInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleDefinitionInner.class); + + /* + * The role definition ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role definition name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role definition type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role definition properties. + */ + @JsonProperty(value = "properties") + private RoleDefinitionProperties innerProperties; + + /** + * Get the id property: The role definition ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role definition name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role definition type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role definition properties. + * + * @return the innerProperties value. + */ + private RoleDefinitionProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the roleName property: The role name. + * + * @return the roleName value. + */ + public String roleName() { + return this.innerProperties() == null ? null : this.innerProperties().roleName(); + } + + /** + * Set the roleName property: The role name. + * + * @param roleName the roleName value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withRoleName(String roleName) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withRoleName(roleName); + return this; + } + + /** + * Get the description property: The role definition description. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The role definition description. + * + * @param description the description value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the roleType property: The role type. + * + * @return the roleType value. + */ + public String roleType() { + return this.innerProperties() == null ? null : this.innerProperties().roleType(); + } + + /** + * Set the roleType property: The role type. + * + * @param roleType the roleType value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withRoleType(String roleType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withRoleType(roleType); + return this; + } + + /** + * Get the permissions property: Role definition permissions. + * + * @return the permissions value. + */ + public List permissions() { + return this.innerProperties() == null ? null : this.innerProperties().permissions(); + } + + /** + * Set the permissions property: Role definition permissions. + * + * @param permissions the permissions value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withPermissions(List permissions) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withPermissions(permissions); + return this; + } + + /** + * Get the assignableScopes property: Role definition assignable scopes. + * + * @return the assignableScopes value. + */ + public List assignableScopes() { + return this.innerProperties() == null ? null : this.innerProperties().assignableScopes(); + } + + /** + * Set the assignableScopes property: Role definition assignable scopes. + * + * @param assignableScopes the assignableScopes value to set. + * @return the RoleDefinitionInner object itself. + */ + public RoleDefinitionInner withAssignableScopes(List assignableScopes) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleDefinitionProperties(); + } + this.innerProperties().withAssignableScopes(assignableScopes); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java new file mode 100644 index 0000000000000..44c2aab5a244d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleDefinitionProperties.java @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition properties. */ +@Fluent +public final class RoleDefinitionProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleDefinitionProperties.class); + + /* + * The role name. + */ + @JsonProperty(value = "roleName") + private String roleName; + + /* + * The role definition description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * The role type. + */ + @JsonProperty(value = "type") + private String roleType; + + /* + * Role definition permissions. + */ + @JsonProperty(value = "permissions") + private List permissions; + + /* + * Role definition assignable scopes. + */ + @JsonProperty(value = "assignableScopes") + private List assignableScopes; + + /** + * Get the roleName property: The role name. + * + * @return the roleName value. + */ + public String roleName() { + return this.roleName; + } + + /** + * Set the roleName property: The role name. + * + * @param roleName the roleName value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withRoleName(String roleName) { + this.roleName = roleName; + return this; + } + + /** + * Get the description property: The role definition description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The role definition description. + * + * @param description the description value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the roleType property: The role type. + * + * @return the roleType value. + */ + public String roleType() { + return this.roleType; + } + + /** + * Set the roleType property: The role type. + * + * @param roleType the roleType value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withRoleType(String roleType) { + this.roleType = roleType; + return this; + } + + /** + * Get the permissions property: Role definition permissions. + * + * @return the permissions value. + */ + public List permissions() { + return this.permissions; + } + + /** + * Set the permissions property: Role definition permissions. + * + * @param permissions the permissions value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withPermissions(List permissions) { + this.permissions = permissions; + return this; + } + + /** + * Get the assignableScopes property: Role definition assignable scopes. + * + * @return the assignableScopes value. + */ + public List assignableScopes() { + return this.assignableScopes; + } + + /** + * Set the assignableScopes property: Role definition assignable scopes. + * + * @param assignableScopes the assignableScopes value to set. + * @return the RoleDefinitionProperties object itself. + */ + public RoleDefinitionProperties withAssignableScopes(List assignableScopes) { + this.assignableScopes = assignableScopes; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (permissions() != null) { + permissions().forEach(e -> e.validate()); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java new file mode 100644 index 0000000000000..4fa3d72dd5f56 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInner.java @@ -0,0 +1,420 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInner.class); + + /* + * The role eligibility schedule Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * role eligibility schedule properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: role eligibility schedule properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleEligibilityScheduleRequestId value. + */ + public String roleEligibilityScheduleRequestId() { + return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleRequestId(); + } + + /** + * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withRoleEligibilityScheduleRequestId(String roleEligibilityScheduleRequestId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withRoleEligibilityScheduleRequestId(roleEligibilityScheduleRequestId); + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role eligibility schedule. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role eligibility schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: Start DateTime when role eligibility schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: End DateTime when role eligibility schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: End DateTime when role eligibility schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.innerProperties() == null ? null : this.innerProperties().updatedOn(); + } + + /** + * Set the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withUpdatedOn(OffsetDateTime updatedOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withUpdatedOn(updatedOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInner object itself. + */ + public RoleEligibilityScheduleInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java new file mode 100644 index 0000000000000..8a21b15554e55 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceInner.java @@ -0,0 +1,395 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Information about current or upcoming role eligibility schedule instance. */ +@Fluent +public final class RoleEligibilityScheduleInstanceInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstanceInner.class); + + /* + * The role eligibility schedule instance ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule instance name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule instance type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role eligibility schedule instance properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleInstanceProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule instance ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule instance name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule instance type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role eligibility schedule instance properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleInstanceProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withPrincipalType(PrincipalType principalType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withPrincipalType(principalType); + return this; + } + + /** + * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @return the roleEligibilityScheduleId value. + */ + public String roleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().roleEligibilityScheduleId(); + } + + /** + * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withRoleEligibilityScheduleId(String roleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withRoleEligibilityScheduleId(roleEligibilityScheduleId); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Set the status property: The status of the role eligibility schedule instance. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withStatus(Status status) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withStatus(status); + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().startDateTime(); + } + + /** + * Set the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withStartDateTime(OffsetDateTime startDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withStartDateTime(startDateTime); + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().endDateTime(); + } + + /** + * Set the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withEndDateTime(OffsetDateTime endDateTime) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withEndDateTime(endDateTime); + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.innerProperties() == null ? null : this.innerProperties().memberType(); + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withMemberType(MemberType memberType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withMemberType(memberType); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withCreatedOn(OffsetDateTime createdOn) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withCreatedOn(createdOn); + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInstanceInner object itself. + */ + public RoleEligibilityScheduleInstanceInner withExpandedProperties(ExpandedProperties expandedProperties) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleInstanceProperties(); + } + this.innerProperties().withExpandedProperties(expandedProperties); + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java new file mode 100644 index 0000000000000..eec54535f0940 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleInstanceProperties.java @@ -0,0 +1,377 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleInstanceProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstanceProperties.class); + + /* + * The role eligibility schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * Id of the master role eligibility schedule + */ + @JsonProperty(value = "roleEligibilityScheduleId") + private String roleEligibilityScheduleId; + + /* + * The status of the role eligibility schedule instance + */ + @JsonProperty(value = "status") + private Status status; + + /* + * The startDateTime of the role eligibility schedule instance + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * The endDateTime of the role eligibility schedule instance + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * Membership type of the role eligibility schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @return the roleEligibilityScheduleId value. + */ + public String roleEligibilityScheduleId() { + return this.roleEligibilityScheduleId; + } + + /** + * Set the roleEligibilityScheduleId property: Id of the master role eligibility schedule. + * + * @param roleEligibilityScheduleId the roleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withRoleEligibilityScheduleId(String roleEligibilityScheduleId) { + this.roleEligibilityScheduleId = roleEligibilityScheduleId; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule instance. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role eligibility schedule instance. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: The startDateTime of the role eligibility schedule instance. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: The endDateTime of the role eligibility schedule instance. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleInstanceProperties object itself. + */ + public RoleEligibilityScheduleInstanceProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java new file mode 100644 index 0000000000000..dde8038cabbfe --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleProperties.java @@ -0,0 +1,407 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.MemberType; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleProperties.class); + + /* + * The role eligibility schedule scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId") + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType") + private PrincipalType principalType; + + /* + * The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule + */ + @JsonProperty(value = "roleEligibilityScheduleRequestId") + private String roleEligibilityScheduleRequestId; + + /* + * Membership type of the role eligibility schedule + */ + @JsonProperty(value = "memberType") + private MemberType memberType; + + /* + * The status of the role eligibility schedule. + */ + @JsonProperty(value = "status") + private Status status; + + /* + * Start DateTime when role eligibility schedule + */ + @JsonProperty(value = "startDateTime") + private OffsetDateTime startDateTime; + + /* + * End DateTime when role eligibility schedule + */ + @JsonProperty(value = "endDateTime") + private OffsetDateTime endDateTime; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule was created + */ + @JsonProperty(value = "createdOn") + private OffsetDateTime createdOn; + + /* + * DateTime when role eligibility schedule was modified + */ + @JsonProperty(value = "updatedOn") + private OffsetDateTime updatedOn; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties") + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role eligibility schedule scope. + * + * @param scope the scope value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Set the principalType property: The principal type of the assigned principal ID. + * + * @param principalType the principalType value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withPrincipalType(PrincipalType principalType) { + this.principalType = principalType; + return this; + } + + /** + * Get the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @return the roleEligibilityScheduleRequestId value. + */ + public String roleEligibilityScheduleRequestId() { + return this.roleEligibilityScheduleRequestId; + } + + /** + * Set the roleEligibilityScheduleRequestId property: The id of roleEligibilityScheduleRequest used to create this + * roleAssignmentSchedule. + * + * @param roleEligibilityScheduleRequestId the roleEligibilityScheduleRequestId value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withRoleEligibilityScheduleRequestId( + String roleEligibilityScheduleRequestId) { + this.roleEligibilityScheduleRequestId = roleEligibilityScheduleRequestId; + return this; + } + + /** + * Get the memberType property: Membership type of the role eligibility schedule. + * + * @return the memberType value. + */ + public MemberType memberType() { + return this.memberType; + } + + /** + * Set the memberType property: Membership type of the role eligibility schedule. + * + * @param memberType the memberType value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withMemberType(MemberType memberType) { + this.memberType = memberType; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Set the status property: The status of the role eligibility schedule. + * + * @param status the status value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withStatus(Status status) { + this.status = status; + return this; + } + + /** + * Get the startDateTime property: Start DateTime when role eligibility schedule. + * + * @return the startDateTime value. + */ + public OffsetDateTime startDateTime() { + return this.startDateTime; + } + + /** + * Set the startDateTime property: Start DateTime when role eligibility schedule. + * + * @param startDateTime the startDateTime value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withStartDateTime(OffsetDateTime startDateTime) { + this.startDateTime = startDateTime; + return this; + } + + /** + * Get the endDateTime property: End DateTime when role eligibility schedule. + * + * @return the endDateTime value. + */ + public OffsetDateTime endDateTime() { + return this.endDateTime; + } + + /** + * Set the endDateTime property: End DateTime when role eligibility schedule. + * + * @param endDateTime the endDateTime value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withEndDateTime(OffsetDateTime endDateTime) { + this.endDateTime = endDateTime; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Set the createdOn property: DateTime when role eligibility schedule was created. + * + * @param createdOn the createdOn value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withCreatedOn(OffsetDateTime createdOn) { + this.createdOn = createdOn; + return this; + } + + /** + * Get the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @return the updatedOn value. + */ + public OffsetDateTime updatedOn() { + return this.updatedOn; + } + + /** + * Set the updatedOn property: DateTime when role eligibility schedule was modified. + * + * @param updatedOn the updatedOn value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withUpdatedOn(OffsetDateTime updatedOn) { + this.updatedOn = updatedOn; + return this; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Set the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @param expandedProperties the expandedProperties value to set. + * @return the RoleEligibilityScheduleProperties object itself. + */ + public RoleEligibilityScheduleProperties withExpandedProperties(ExpandedProperties expandedProperties) { + this.expandedProperties = expandedProperties; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java new file mode 100644 index 0000000000000..d6cf0b1bab9be --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestInner.java @@ -0,0 +1,401 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role Eligibility schedule request. */ +@Fluent +public final class RoleEligibilityScheduleRequestInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestInner.class); + + /* + * The role eligibility schedule request ID. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role eligibility schedule request name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role eligibility schedule request type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role eligibility schedule request properties. + */ + @JsonProperty(value = "properties") + private RoleEligibilityScheduleRequestProperties innerProperties; + + /** + * Get the id property: The role eligibility schedule request ID. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role eligibility schedule request name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role eligibility schedule request type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role eligibility schedule request properties. + * + * @return the innerProperties value. + */ + private RoleEligibilityScheduleRequestProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role eligibility schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.innerProperties() == null ? null : this.innerProperties().principalId(); + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withPrincipalId(String principalId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withPrincipalId(principalId); + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.innerProperties() == null ? null : this.innerProperties().principalType(); + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.innerProperties() == null ? null : this.innerProperties().requestType(); + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withRequestType(RequestType requestType) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withRequestType(requestType); + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule request. + * + * @return the status value. + */ + public Status status() { + return this.innerProperties() == null ? null : this.innerProperties().status(); + } + + /** + * Get the approvalId property: The approvalId of the role eligibility schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.innerProperties() == null ? null : this.innerProperties().approvalId(); + } + + /** + * Get the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @return the scheduleInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.innerProperties() == null ? null : this.innerProperties().scheduleInfo(); + } + + /** + * Set the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withScheduleInfo( + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withScheduleInfo(scheduleInfo); + return this; + } + + /** + * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @return the targetRoleEligibilityScheduleId value. + */ + public String targetRoleEligibilityScheduleId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleId(); + } + + /** + * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleId( + String targetRoleEligibilityScheduleId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleEligibilityScheduleId(targetRoleEligibilityScheduleId); + return this; + } + + /** + * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @return the targetRoleEligibilityScheduleInstanceId value. + */ + public String targetRoleEligibilityScheduleInstanceId() { + return this.innerProperties() == null ? null : this.innerProperties().targetRoleEligibilityScheduleInstanceId(); + } + + /** + * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTargetRoleEligibilityScheduleInstanceId( + String targetRoleEligibilityScheduleInstanceId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTargetRoleEligibilityScheduleInstanceId(targetRoleEligibilityScheduleInstanceId); + return this; + } + + /** + * Get the justification property: Justification for the role eligibility. + * + * @return the justification value. + */ + public String justification() { + return this.innerProperties() == null ? null : this.innerProperties().justification(); + } + + /** + * Set the justification property: Justification for the role eligibility. + * + * @param justification the justification value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withJustification(String justification) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withJustification(justification); + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role eligibility. + * + * @return the ticketInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.innerProperties() == null ? null : this.innerProperties().ticketInfo(); + } + + /** + * Set the ticketInfo property: Ticket Info of the role eligibility. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withTicketInfo( + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withTicketInfo(ticketInfo); + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.innerProperties() == null ? null : this.innerProperties().condition(); + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withCondition(String condition) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withCondition(condition); + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.innerProperties() == null ? null : this.innerProperties().conditionVersion(); + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleRequestInner object itself. + */ + public RoleEligibilityScheduleRequestInner withConditionVersion(String conditionVersion) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleEligibilityScheduleRequestProperties(); + } + this.innerProperties().withConditionVersion(conditionVersion); + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.innerProperties() == null ? null : this.innerProperties().createdOn(); + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.innerProperties() == null ? null : this.innerProperties().requestorId(); + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.innerProperties() == null ? null : this.innerProperties().expandedProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java new file mode 100644 index 0000000000000..7fb080c86b21a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleEligibilityScheduleRequestProperties.java @@ -0,0 +1,443 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ExpandedProperties; +import com.azure.resourcemanager.authorization.generated.models.PrincipalType; +import com.azure.resourcemanager.authorization.generated.models.RequestType; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesScheduleInfo; +import com.azure.resourcemanager.authorization.generated.models.RoleEligibilityScheduleRequestPropertiesTicketInfo; +import com.azure.resourcemanager.authorization.generated.models.Status; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role eligibility schedule request properties with scope. */ +@Fluent +public final class RoleEligibilityScheduleRequestProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestProperties.class); + + /* + * The role eligibility schedule request scope. + */ + @JsonProperty(value = "scope", access = JsonProperty.Access.WRITE_ONLY) + private String scope; + + /* + * The role definition ID. + */ + @JsonProperty(value = "roleDefinitionId", required = true) + private String roleDefinitionId; + + /* + * The principal ID. + */ + @JsonProperty(value = "principalId", required = true) + private String principalId; + + /* + * The principal type of the assigned principal ID. + */ + @JsonProperty(value = "principalType", access = JsonProperty.Access.WRITE_ONLY) + private PrincipalType principalType; + + /* + * The type of the role assignment schedule request. Eg: SelfActivate, + * AdminAssign etc + */ + @JsonProperty(value = "requestType", required = true) + private RequestType requestType; + + /* + * The status of the role eligibility schedule request. + */ + @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY) + private Status status; + + /* + * The approvalId of the role eligibility schedule request. + */ + @JsonProperty(value = "approvalId", access = JsonProperty.Access.WRITE_ONLY) + private String approvalId; + + /* + * Schedule info of the role eligibility schedule + */ + @JsonProperty(value = "scheduleInfo") + private RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo; + + /* + * The resultant role eligibility schedule id or the role eligibility + * schedule id being updated + */ + @JsonProperty(value = "targetRoleEligibilityScheduleId") + private String targetRoleEligibilityScheduleId; + + /* + * The role eligibility schedule instance id being updated + */ + @JsonProperty(value = "targetRoleEligibilityScheduleInstanceId") + private String targetRoleEligibilityScheduleInstanceId; + + /* + * Justification for the role eligibility + */ + @JsonProperty(value = "justification") + private String justification; + + /* + * Ticket Info of the role eligibility + */ + @JsonProperty(value = "ticketInfo") + private RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo; + + /* + * The conditions on the role assignment. This limits the resources it can + * be assigned to. e.g.: + * @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container' + */ + @JsonProperty(value = "condition") + private String condition; + + /* + * Version of the condition. Currently accepted value is '2.0' + */ + @JsonProperty(value = "conditionVersion") + private String conditionVersion; + + /* + * DateTime when role eligibility schedule request was created + */ + @JsonProperty(value = "createdOn", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime createdOn; + + /* + * Id of the user who created this request + */ + @JsonProperty(value = "requestorId", access = JsonProperty.Access.WRITE_ONLY) + private String requestorId; + + /* + * Additional properties of principal, scope and role definition + */ + @JsonProperty(value = "expandedProperties", access = JsonProperty.Access.WRITE_ONLY) + private ExpandedProperties expandedProperties; + + /** + * Get the scope property: The role eligibility schedule request scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Get the roleDefinitionId property: The role definition ID. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition ID. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the principalId property: The principal ID. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Set the principalId property: The principal ID. + * + * @param principalId the principalId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withPrincipalId(String principalId) { + this.principalId = principalId; + return this; + } + + /** + * Get the principalType property: The principal type of the assigned principal ID. + * + * @return the principalType value. + */ + public PrincipalType principalType() { + return this.principalType; + } + + /** + * Get the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @return the requestType value. + */ + public RequestType requestType() { + return this.requestType; + } + + /** + * Set the requestType property: The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign + * etc. + * + * @param requestType the requestType value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withRequestType(RequestType requestType) { + this.requestType = requestType; + return this; + } + + /** + * Get the status property: The status of the role eligibility schedule request. + * + * @return the status value. + */ + public Status status() { + return this.status; + } + + /** + * Get the approvalId property: The approvalId of the role eligibility schedule request. + * + * @return the approvalId value. + */ + public String approvalId() { + return this.approvalId; + } + + /** + * Get the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @return the scheduleInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo() { + return this.scheduleInfo; + } + + /** + * Set the scheduleInfo property: Schedule info of the role eligibility schedule. + * + * @param scheduleInfo the scheduleInfo value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withScheduleInfo( + RoleEligibilityScheduleRequestPropertiesScheduleInfo scheduleInfo) { + this.scheduleInfo = scheduleInfo; + return this; + } + + /** + * Get the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @return the targetRoleEligibilityScheduleId value. + */ + public String targetRoleEligibilityScheduleId() { + return this.targetRoleEligibilityScheduleId; + } + + /** + * Set the targetRoleEligibilityScheduleId property: The resultant role eligibility schedule id or the role + * eligibility schedule id being updated. + * + * @param targetRoleEligibilityScheduleId the targetRoleEligibilityScheduleId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleId( + String targetRoleEligibilityScheduleId) { + this.targetRoleEligibilityScheduleId = targetRoleEligibilityScheduleId; + return this; + } + + /** + * Get the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @return the targetRoleEligibilityScheduleInstanceId value. + */ + public String targetRoleEligibilityScheduleInstanceId() { + return this.targetRoleEligibilityScheduleInstanceId; + } + + /** + * Set the targetRoleEligibilityScheduleInstanceId property: The role eligibility schedule instance id being + * updated. + * + * @param targetRoleEligibilityScheduleInstanceId the targetRoleEligibilityScheduleInstanceId value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTargetRoleEligibilityScheduleInstanceId( + String targetRoleEligibilityScheduleInstanceId) { + this.targetRoleEligibilityScheduleInstanceId = targetRoleEligibilityScheduleInstanceId; + return this; + } + + /** + * Get the justification property: Justification for the role eligibility. + * + * @return the justification value. + */ + public String justification() { + return this.justification; + } + + /** + * Set the justification property: Justification for the role eligibility. + * + * @param justification the justification value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withJustification(String justification) { + this.justification = justification; + return this; + } + + /** + * Get the ticketInfo property: Ticket Info of the role eligibility. + * + * @return the ticketInfo value. + */ + public RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo() { + return this.ticketInfo; + } + + /** + * Set the ticketInfo property: Ticket Info of the role eligibility. + * + * @param ticketInfo the ticketInfo value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withTicketInfo( + RoleEligibilityScheduleRequestPropertiesTicketInfo ticketInfo) { + this.ticketInfo = ticketInfo; + return this; + } + + /** + * Get the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @return the condition value. + */ + public String condition() { + return this.condition; + } + + /** + * Set the condition property: The conditions on the role assignment. This limits the resources it can be assigned + * to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] + * StringEqualsIgnoreCase 'foo_storage_container'. + * + * @param condition the condition value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withCondition(String condition) { + this.condition = condition; + return this; + } + + /** + * Get the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @return the conditionVersion value. + */ + public String conditionVersion() { + return this.conditionVersion; + } + + /** + * Set the conditionVersion property: Version of the condition. Currently accepted value is '2.0'. + * + * @param conditionVersion the conditionVersion value to set. + * @return the RoleEligibilityScheduleRequestProperties object itself. + */ + public RoleEligibilityScheduleRequestProperties withConditionVersion(String conditionVersion) { + this.conditionVersion = conditionVersion; + return this; + } + + /** + * Get the createdOn property: DateTime when role eligibility schedule request was created. + * + * @return the createdOn value. + */ + public OffsetDateTime createdOn() { + return this.createdOn; + } + + /** + * Get the requestorId property: Id of the user who created this request. + * + * @return the requestorId value. + */ + public String requestorId() { + return this.requestorId; + } + + /** + * Get the expandedProperties property: Additional properties of principal, scope and role definition. + * + * @return the expandedProperties value. + */ + public ExpandedProperties expandedProperties() { + return this.expandedProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (roleDefinitionId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property roleDefinitionId in model" + + " RoleEligibilityScheduleRequestProperties")); + } + if (principalId() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property principalId in model RoleEligibilityScheduleRequestProperties")); + } + if (requestType() == null) { + throw logger + .logExceptionAsError( + new IllegalArgumentException( + "Missing required property requestType in model RoleEligibilityScheduleRequestProperties")); + } + if (scheduleInfo() != null) { + scheduleInfo().validate(); + } + if (ticketInfo() != null) { + ticketInfo().validate(); + } + if (expandedProperties() != null) { + expandedProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java new file mode 100644 index 0000000000000..291ca492784cc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentInner.java @@ -0,0 +1,166 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PolicyAssignmentProperties; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role management policy. */ +@Fluent +public final class RoleManagementPolicyAssignmentInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentInner.class); + + /* + * The role management policy Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role management policy name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role management policy type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role management policy properties. + */ + @JsonProperty(value = "properties") + private RoleManagementPolicyAssignmentProperties innerProperties; + + /** + * Get the id property: The role management policy Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role management policy name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role management policy type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role management policy properties. + * + * @return the innerProperties value. + */ + private RoleManagementPolicyAssignmentProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the roleDefinitionId property: The role definition of management policy assignment. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.innerProperties() == null ? null : this.innerProperties().roleDefinitionId(); + } + + /** + * Set the roleDefinitionId property: The role definition of management policy assignment. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withRoleDefinitionId(String roleDefinitionId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withRoleDefinitionId(roleDefinitionId); + return this; + } + + /** + * Get the policyId property: The policy id role management policy assignment. + * + * @return the policyId value. + */ + public String policyId() { + return this.innerProperties() == null ? null : this.innerProperties().policyId(); + } + + /** + * Set the policyId property: The policy id role management policy assignment. + * + * @param policyId the policyId value to set. + * @return the RoleManagementPolicyAssignmentInner object itself. + */ + public RoleManagementPolicyAssignmentInner withPolicyId(String policyId) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyAssignmentProperties(); + } + this.innerProperties().withPolicyId(policyId); + return this; + } + + /** + * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy. + * + * @return the policyAssignmentProperties value. + */ + public PolicyAssignmentProperties policyAssignmentProperties() { + return this.innerProperties() == null ? null : this.innerProperties().policyAssignmentProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java new file mode 100644 index 0000000000000..7d8f7a998536e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyAssignmentProperties.java @@ -0,0 +1,121 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PolicyAssignmentProperties; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Role management policy assignment properties with scope. */ +@Fluent +public final class RoleManagementPolicyAssignmentProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentProperties.class); + + /* + * The role management policy scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role definition of management policy assignment. + */ + @JsonProperty(value = "roleDefinitionId") + private String roleDefinitionId; + + /* + * The policy id role management policy assignment. + */ + @JsonProperty(value = "policyId") + private String policyId; + + /* + * Additional properties of scope, role definition and policy + */ + @JsonProperty(value = "policyAssignmentProperties", access = JsonProperty.Access.WRITE_ONLY) + private PolicyAssignmentProperties policyAssignmentProperties; + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the roleDefinitionId property: The role definition of management policy assignment. + * + * @return the roleDefinitionId value. + */ + public String roleDefinitionId() { + return this.roleDefinitionId; + } + + /** + * Set the roleDefinitionId property: The role definition of management policy assignment. + * + * @param roleDefinitionId the roleDefinitionId value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withRoleDefinitionId(String roleDefinitionId) { + this.roleDefinitionId = roleDefinitionId; + return this; + } + + /** + * Get the policyId property: The policy id role management policy assignment. + * + * @return the policyId value. + */ + public String policyId() { + return this.policyId; + } + + /** + * Set the policyId property: The policy id role management policy assignment. + * + * @param policyId the policyId value to set. + * @return the RoleManagementPolicyAssignmentProperties object itself. + */ + public RoleManagementPolicyAssignmentProperties withPolicyId(String policyId) { + this.policyId = policyId; + return this; + } + + /** + * Get the policyAssignmentProperties property: Additional properties of scope, role definition and policy. + * + * @return the policyAssignmentProperties value. + */ + public PolicyAssignmentProperties policyAssignmentProperties() { + return this.policyAssignmentProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (policyAssignmentProperties() != null) { + policyAssignmentProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java new file mode 100644 index 0000000000000..a9e6a54cacef3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyInner.java @@ -0,0 +1,243 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PolicyProperties; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Role management policy. */ +@Fluent +public final class RoleManagementPolicyInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyInner.class); + + /* + * The role management policy Id. + */ + @JsonProperty(value = "id", access = JsonProperty.Access.WRITE_ONLY) + private String id; + + /* + * The role management policy name. + */ + @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY) + private String name; + + /* + * The role management policy type. + */ + @JsonProperty(value = "type", access = JsonProperty.Access.WRITE_ONLY) + private String type; + + /* + * Role management policy properties. + */ + @JsonProperty(value = "properties") + private RoleManagementPolicyProperties innerProperties; + + /** + * Get the id property: The role management policy Id. + * + * @return the id value. + */ + public String id() { + return this.id; + } + + /** + * Get the name property: The role management policy name. + * + * @return the name value. + */ + public String name() { + return this.name; + } + + /** + * Get the type property: The role management policy type. + * + * @return the type value. + */ + public String type() { + return this.type; + } + + /** + * Get the innerProperties property: Role management policy properties. + * + * @return the innerProperties value. + */ + private RoleManagementPolicyProperties innerProperties() { + return this.innerProperties; + } + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.innerProperties() == null ? null : this.innerProperties().scope(); + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withScope(String scope) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withScope(scope); + return this; + } + + /** + * Get the displayName property: The role management policy display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.innerProperties() == null ? null : this.innerProperties().displayName(); + } + + /** + * Set the displayName property: The role management policy display name. + * + * @param displayName the displayName value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withDisplayName(String displayName) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withDisplayName(displayName); + return this; + } + + /** + * Get the description property: The role management policy description. + * + * @return the description value. + */ + public String description() { + return this.innerProperties() == null ? null : this.innerProperties().description(); + } + + /** + * Set the description property: The role management policy description. + * + * @param description the description value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withDescription(String description) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withDescription(description); + return this; + } + + /** + * Get the isOrganizationDefault property: The role management policy is default policy. + * + * @return the isOrganizationDefault value. + */ + public Boolean isOrganizationDefault() { + return this.innerProperties() == null ? null : this.innerProperties().isOrganizationDefault(); + } + + /** + * Set the isOrganizationDefault property: The role management policy is default policy. + * + * @param isOrganizationDefault the isOrganizationDefault value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withIsOrganizationDefault(Boolean isOrganizationDefault) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withIsOrganizationDefault(isOrganizationDefault); + return this; + } + + /** + * Get the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + public Principal lastModifiedBy() { + return this.innerProperties() == null ? null : this.innerProperties().lastModifiedBy(); + } + + /** + * Get the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.innerProperties() == null ? null : this.innerProperties().lastModifiedDateTime(); + } + + /** + * Get the rules property: The rule applied to the policy. + * + * @return the rules value. + */ + public List rules() { + return this.innerProperties() == null ? null : this.innerProperties().rules(); + } + + /** + * Set the rules property: The rule applied to the policy. + * + * @param rules the rules value to set. + * @return the RoleManagementPolicyInner object itself. + */ + public RoleManagementPolicyInner withRules(List rules) { + if (this.innerProperties() == null) { + this.innerProperties = new RoleManagementPolicyProperties(); + } + this.innerProperties().withRules(rules); + return this; + } + + /** + * Get the effectiveRules property: The readonly computed rule applied to the policy. + * + * @return the effectiveRules value. + */ + public List effectiveRules() { + return this.innerProperties() == null ? null : this.innerProperties().effectiveRules(); + } + + /** + * Get the policyProperties property: Additional properties of scope. + * + * @return the policyProperties value. + */ + public PolicyProperties policyProperties() { + return this.innerProperties() == null ? null : this.innerProperties().policyProperties(); + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (innerProperties() != null) { + innerProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java new file mode 100644 index 0000000000000..299fb1c75c35d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/RoleManagementPolicyProperties.java @@ -0,0 +1,231 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.PolicyProperties; +import com.azure.resourcemanager.authorization.generated.models.Principal; +import com.azure.resourcemanager.authorization.generated.models.RoleManagementPolicyRule; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; +import java.util.List; + +/** Role management policy properties with scope. */ +@Fluent +public final class RoleManagementPolicyProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyProperties.class); + + /* + * The role management policy scope. + */ + @JsonProperty(value = "scope") + private String scope; + + /* + * The role management policy display name. + */ + @JsonProperty(value = "displayName") + private String displayName; + + /* + * The role management policy description. + */ + @JsonProperty(value = "description") + private String description; + + /* + * The role management policy is default policy. + */ + @JsonProperty(value = "isOrganizationDefault") + private Boolean isOrganizationDefault; + + /* + * The name of the entity last modified it + */ + @JsonProperty(value = "lastModifiedBy", access = JsonProperty.Access.WRITE_ONLY) + private Principal lastModifiedBy; + + /* + * The last modified date time. + */ + @JsonProperty(value = "lastModifiedDateTime", access = JsonProperty.Access.WRITE_ONLY) + private OffsetDateTime lastModifiedDateTime; + + /* + * The rule applied to the policy. + */ + @JsonProperty(value = "rules") + private List rules; + + /* + * The readonly computed rule applied to the policy. + */ + @JsonProperty(value = "effectiveRules", access = JsonProperty.Access.WRITE_ONLY) + private List effectiveRules; + + /* + * Additional properties of scope + */ + @JsonProperty(value = "policyProperties", access = JsonProperty.Access.WRITE_ONLY) + private PolicyProperties policyProperties; + + /** + * Get the scope property: The role management policy scope. + * + * @return the scope value. + */ + public String scope() { + return this.scope; + } + + /** + * Set the scope property: The role management policy scope. + * + * @param scope the scope value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withScope(String scope) { + this.scope = scope; + return this; + } + + /** + * Get the displayName property: The role management policy display name. + * + * @return the displayName value. + */ + public String displayName() { + return this.displayName; + } + + /** + * Set the displayName property: The role management policy display name. + * + * @param displayName the displayName value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Get the description property: The role management policy description. + * + * @return the description value. + */ + public String description() { + return this.description; + } + + /** + * Set the description property: The role management policy description. + * + * @param description the description value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the isOrganizationDefault property: The role management policy is default policy. + * + * @return the isOrganizationDefault value. + */ + public Boolean isOrganizationDefault() { + return this.isOrganizationDefault; + } + + /** + * Set the isOrganizationDefault property: The role management policy is default policy. + * + * @param isOrganizationDefault the isOrganizationDefault value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withIsOrganizationDefault(Boolean isOrganizationDefault) { + this.isOrganizationDefault = isOrganizationDefault; + return this; + } + + /** + * Get the lastModifiedBy property: The name of the entity last modified it. + * + * @return the lastModifiedBy value. + */ + public Principal lastModifiedBy() { + return this.lastModifiedBy; + } + + /** + * Get the lastModifiedDateTime property: The last modified date time. + * + * @return the lastModifiedDateTime value. + */ + public OffsetDateTime lastModifiedDateTime() { + return this.lastModifiedDateTime; + } + + /** + * Get the rules property: The rule applied to the policy. + * + * @return the rules value. + */ + public List rules() { + return this.rules; + } + + /** + * Set the rules property: The rule applied to the policy. + * + * @param rules the rules value to set. + * @return the RoleManagementPolicyProperties object itself. + */ + public RoleManagementPolicyProperties withRules(List rules) { + this.rules = rules; + return this; + } + + /** + * Get the effectiveRules property: The readonly computed rule applied to the policy. + * + * @return the effectiveRules value. + */ + public List effectiveRules() { + return this.effectiveRules; + } + + /** + * Get the policyProperties property: Additional properties of scope. + * + * @return the policyProperties value. + */ + public PolicyProperties policyProperties() { + return this.policyProperties; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (lastModifiedBy() != null) { + lastModifiedBy().validate(); + } + if (rules() != null) { + rules().forEach(e -> e.validate()); + } + if (effectiveRules() != null) { + effectiveRules().forEach(e -> e.validate()); + } + if (policyProperties() != null) { + policyProperties().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java new file mode 100644 index 0000000000000..e74806bb1eb60 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/ValidationResponseInner.java @@ -0,0 +1,69 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.fluent.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.models.ValidationResponseErrorInfo; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Validation response. */ +@Fluent +public final class ValidationResponseInner { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ValidationResponseInner.class); + + /* + * Whether or not validation succeeded + */ + @JsonProperty(value = "isValid", access = JsonProperty.Access.WRITE_ONLY) + private Boolean isValid; + + /* + * Failed validation result details + */ + @JsonProperty(value = "errorInfo") + private ValidationResponseErrorInfo errorInfo; + + /** + * Get the isValid property: Whether or not validation succeeded. + * + * @return the isValid value. + */ + public Boolean isValid() { + return this.isValid; + } + + /** + * Get the errorInfo property: Failed validation result details. + * + * @return the errorInfo value. + */ + public ValidationResponseErrorInfo errorInfo() { + return this.errorInfo; + } + + /** + * Set the errorInfo property: Failed validation result details. + * + * @param errorInfo the errorInfo value to set. + * @return the ValidationResponseInner object itself. + */ + public ValidationResponseInner withErrorInfo(ValidationResponseErrorInfo errorInfo) { + this.errorInfo = errorInfo; + return this; + } + + /** + * Validates the instance. + * + * @throws IllegalArgumentException thrown if the instance is not valid. + */ + public void validate() { + if (errorInfo() != null) { + errorInfo().validate(); + } + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java new file mode 100644 index 0000000000000..778f02ae93c82 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/models/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the inner data models for AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.fluent.models; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java new file mode 100644 index 0000000000000..e4a5da680dfa8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/fluent/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the service clients for AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.fluent; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/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..a0e9cf89d6d0d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDecisionImpl.java @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessRecommendationType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewActorIdentityType; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewApplyResult; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewResult; +import java.time.OffsetDateTime; + +public final class AccessReviewDecisionImpl implements AccessReviewDecision { + private AccessReviewDecisionInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewDecisionImpl( + AccessReviewDecisionInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public AccessRecommendationType recommendation() { + return this.innerModel().recommendation(); + } + + public AccessReviewResult decision() { + return this.innerModel().decision(); + } + + public String justification() { + return this.innerModel().justification(); + } + + public OffsetDateTime reviewedDateTime() { + return this.innerModel().reviewedDateTime(); + } + + public AccessReviewApplyResult applyResult() { + return this.innerModel().applyResult(); + } + + public OffsetDateTime appliedDateTime() { + return this.innerModel().appliedDateTime(); + } + + public String principalId() { + return this.innerModel().principalId(); + } + + public AccessReviewActorIdentityType principalType() { + return this.innerModel().principalType(); + } + + public String principalName() { + return this.innerModel().principalName(); + } + + public String userPrincipalName() { + return this.innerModel().userPrincipalName(); + } + + public AccessReviewDecisionInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java new file mode 100644 index 0000000000000..8e525157fcb49 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsImpl.java @@ -0,0 +1,96 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewRecurrencePatternType; +import com.azure.resourcemanager.authorization.generated.models.DefaultDecisionType; +import java.time.OffsetDateTime; + +public final class AccessReviewDefaultSettingsImpl implements AccessReviewDefaultSettings { + private AccessReviewDefaultSettingsInner innerObject; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + AccessReviewDefaultSettingsImpl( + AccessReviewDefaultSettingsInner innerObject, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerObject = innerObject; + this.serviceManager = serviceManager; + } + + public String id() { + return this.innerModel().id(); + } + + public String name() { + return this.innerModel().name(); + } + + public String type() { + return this.innerModel().type(); + } + + public Boolean mailNotificationsEnabled() { + return this.innerModel().mailNotificationsEnabled(); + } + + public Boolean reminderNotificationsEnabled() { + return this.innerModel().reminderNotificationsEnabled(); + } + + public Boolean defaultDecisionEnabled() { + return this.innerModel().defaultDecisionEnabled(); + } + + public Boolean justificationRequiredOnApproval() { + return this.innerModel().justificationRequiredOnApproval(); + } + + public DefaultDecisionType defaultDecision() { + return this.innerModel().defaultDecision(); + } + + public Boolean autoApplyDecisionsEnabled() { + return this.innerModel().autoApplyDecisionsEnabled(); + } + + public Boolean recommendationsEnabled() { + return this.innerModel().recommendationsEnabled(); + } + + public Integer instanceDurationInDays() { + return this.innerModel().instanceDurationInDays(); + } + + public AccessReviewRecurrencePatternType typePropertiesType() { + return this.innerModel().typePropertiesType(); + } + + public Integer interval() { + return this.innerModel().interval(); + } + + public Integer numberOfOccurrences() { + return this.innerModel().numberOfOccurrences(); + } + + public OffsetDateTime startDate() { + return this.innerModel().startDate(); + } + + public OffsetDateTime endDate() { + return this.innerModel().endDate(); + } + + public AccessReviewDefaultSettingsInner innerModel() { + return this.innerObject; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java new file mode 100644 index 0000000000000..b5d1973458a2d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsClientImpl.java @@ -0,0 +1,335 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Put; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in + * AccessReviewDefaultSettingsOperationsClient. + */ +public final class AccessReviewDefaultSettingsOperationsClientImpl + implements AccessReviewDefaultSettingsOperationsClient { + private final ClientLogger logger = new ClientLogger(AccessReviewDefaultSettingsOperationsClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final AccessReviewDefaultSettingsOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewDefaultSettingsOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewDefaultSettingsOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewDefaultSettingsOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewDefaultSettingsOperations to + * be used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewDefaultSettingsOperationsService { + @Headers({"Content-Type: application/json"}) + @Get("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> get( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Put("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> put( + @HostParam("$host") String endpoint, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @BodyParam("application/json") AccessReviewScheduleSettings properties, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review default settings for the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service.get(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .put( + this.client.getEndpoint(), + apiVersion, + this.client.getSubscriptionId(), + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .put(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), properties, accept, context); + } + + /** + * Get access review default settings for the subscription. + * + * @param properties Access review schedule settings. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review default settings for the subscription 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..28a146ebeaf0e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewDefaultSettingsOperationsImpl.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewDefaultSettingsOperationsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDefaultSettingsInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettings; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDefaultSettingsOperations; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewDefaultSettingsOperationsImpl implements AccessReviewDefaultSettingsOperations { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDefaultSettingsOperationsImpl.class); + + private final AccessReviewDefaultSettingsOperationsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewDefaultSettingsOperationsImpl( + AccessReviewDefaultSettingsOperationsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public AccessReviewDefaultSettings get() { + AccessReviewDefaultSettingsInner inner = this.serviceClient().get(); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getWithResponse(Context context) { + Response inner = this.serviceClient().getWithResponse(context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDefaultSettings put(AccessReviewScheduleSettings properties) { + AccessReviewDefaultSettingsInner inner = this.serviceClient().put(properties); + if (inner != null) { + return new AccessReviewDefaultSettingsImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response putWithResponse( + AccessReviewScheduleSettings properties, Context context) { + Response inner = this.serviceClient().putWithResponse(properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDefaultSettingsImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private AccessReviewDefaultSettingsOperationsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java new file mode 100644 index 0000000000000..a824c9ebc5201 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsClientImpl.java @@ -0,0 +1,344 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceDecisionsClient. */ +public final class AccessReviewInstanceDecisionsClientImpl implements AccessReviewInstanceDecisionsClient { + private final ClientLogger logger = new ClientLogger(AccessReviewInstanceDecisionsClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceDecisionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceDecisionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceDecisionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceDecisionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceDecisions to be used + * by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewInstanceDecisionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}/decisions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id)); + } + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, context)); + } + + /** + * Get the next page of items. + * + * @param nextLink The nextLink parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return list of access review decisions 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..77d883c814d42 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceDecisionsImpl.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceDecisions; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewInstanceDecisionsImpl implements AccessReviewInstanceDecisions { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceDecisionsImpl.class); + + private final AccessReviewInstanceDecisionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceDecisionsImpl( + AccessReviewInstanceDecisionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + private AccessReviewInstanceDecisionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceImpl.java new file mode 100644 index 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..2fd6a8abe2e01 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsClientImpl.java @@ -0,0 +1,672 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Patch; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecisionListResult; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceMyDecisionsClient. */ +public final class AccessReviewInstanceMyDecisionsClientImpl implements AccessReviewInstanceMyDecisionsClient { + private final ClientLogger logger = new ClientLogger(AccessReviewInstanceMyDecisionsClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceMyDecisionsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceMyDecisionsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceMyDecisionsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceMyDecisionsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceMyDecisions to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewInstanceMyDecisionsService { + @Headers({"Content-Type: application/json"}) + @Get( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}" + + "/decisions") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> list( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}" + + "/decisions/{decisionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> getById( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @PathParam("decisionId") String decisionId, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Patch( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}" + + "/decisions/{decisionId}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> patch( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @PathParam("decisionId") String decisionId, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") AccessReviewDecisionProperties properties, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Get("{nextLink}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> listNext( + @PathParam(value = "nextLink", encoded = true) String nextLink, + @HostParam("$host") String endpoint, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync(String scheduleDefinitionId, String id) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service.list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions along with {@link PagedResponse} on successful completion of {@link + * Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSinglePageAsync( + String scheduleDefinitionId, String id, Context context) { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (scheduleDefinitionId == null) { + return Mono + .error(new IllegalArgumentException("Parameter scheduleDefinitionId is required and cannot be null.")); + } + if (id == null) { + return Mono.error(new IllegalArgumentException("Parameter id is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, id, apiVersion, accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, String id, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, id, context), + nextLink -> listNextSinglePageAsync(nextLink, context)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id)); + } + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, id, context)); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .getById( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .getById(this.client.getEndpoint(), scheduleDefinitionId, id, decisionId, apiVersion, accept, context); + } + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .patch( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + decisionId, + apiVersion, + properties, + accept, + context); + } + + /** + * Record a decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access Review 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..21d0b30773b3c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceMyDecisionsImpl.java @@ -0,0 +1,103 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceMyDecisionsClient; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionProperties; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewDecision; +import com.azure.resourcemanager.authorization.generated.models.AccessReviewInstanceMyDecisions; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewInstanceMyDecisionsImpl implements AccessReviewInstanceMyDecisions { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceMyDecisionsImpl.class); + + private final AccessReviewInstanceMyDecisionsClient innerClient; + + private final com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager; + + public AccessReviewInstanceMyDecisionsImpl( + AccessReviewInstanceMyDecisionsClient innerClient, + com.azure.resourcemanager.authorization.generated.AuthorizationManager serviceManager) { + this.innerClient = innerClient; + this.serviceManager = serviceManager; + } + + public PagedIterable list(String scheduleDefinitionId, String id) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public PagedIterable list(String scheduleDefinitionId, String id, Context context) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, id, context); + return Utils.mapPage(inner, inner1 -> new AccessReviewDecisionImpl(inner1, this.manager())); + } + + public AccessReviewDecision getById(String scheduleDefinitionId, String id, String decisionId) { + AccessReviewDecisionInner inner = this.serviceClient().getById(scheduleDefinitionId, id, decisionId); + if (inner != null) { + return new AccessReviewDecisionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response getByIdWithResponse( + String scheduleDefinitionId, String id, String decisionId, Context context) { + Response inner = + this.serviceClient().getByIdWithResponse(scheduleDefinitionId, id, decisionId, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDecisionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + public AccessReviewDecision patch( + String scheduleDefinitionId, String id, String decisionId, AccessReviewDecisionProperties properties) { + AccessReviewDecisionInner inner = this.serviceClient().patch(scheduleDefinitionId, id, decisionId, properties); + if (inner != null) { + return new AccessReviewDecisionImpl(inner, this.manager()); + } else { + return null; + } + } + + public Response patchWithResponse( + String scheduleDefinitionId, + String id, + String decisionId, + AccessReviewDecisionProperties properties, + Context context) { + Response inner = + this.serviceClient().patchWithResponse(scheduleDefinitionId, id, decisionId, properties, context); + if (inner != null) { + return new SimpleResponse<>( + inner.getRequest(), + inner.getStatusCode(), + inner.getHeaders(), + new AccessReviewDecisionImpl(inner.getValue(), this.manager())); + } else { + return null; + } + } + + private AccessReviewInstanceMyDecisionsClient serviceClient() { + return this.innerClient; + } + + private com.azure.resourcemanager.authorization.generated.AuthorizationManager manager() { + return this.serviceManager; + } +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java new file mode 100644 index 0000000000000..09dce58dec278 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsClientImpl.java @@ -0,0 +1,809 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.AccessReviewInstanceOperationsClient; +import reactor.core.publisher.Mono; + +/** An instance of this class provides access to all the operations defined in AccessReviewInstanceOperationsClient. */ +public final class AccessReviewInstanceOperationsClientImpl implements AccessReviewInstanceOperationsClient { + private final ClientLogger logger = new ClientLogger(AccessReviewInstanceOperationsClientImpl.class); + + /** The proxy service used to perform REST calls. */ + private final AccessReviewInstanceOperationsService service; + + /** The service client containing this operation class. */ + private final AuthorizationManagementClientImpl client; + + /** + * Initializes an instance of AccessReviewInstanceOperationsClientImpl. + * + * @param client the instance of the service client containing this operation class. + */ + AccessReviewInstanceOperationsClientImpl(AuthorizationManagementClientImpl client) { + this.service = + RestProxy + .create( + AccessReviewInstanceOperationsService.class, + client.getHttpPipeline(), + client.getSerializerAdapter()); + this.client = client; + } + + /** + * The interface defining all the services for AuthorizationManagementClientAccessReviewInstanceOperations to be + * used by the proxy service to perform REST calls. + */ + @Host("{$host}") + @ServiceInterface(name = "AuthorizationManagem") + private interface AccessReviewInstanceOperationsService { + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}/stop") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> stop( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}/resetDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> resetDecisions( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}/applyDecisions") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> applyDecisions( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions" + + "/{scheduleDefinitionId}/instances/{id}/sendReminders") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> sendReminders( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @PathParam("subscriptionId") String subscriptionId, + @HeaderParam("Accept") String accept, + Context context); + + @Headers({"Content-Type: application/json"}) + @Post( + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}" + + "/acceptRecommendations") + @ExpectedResponses({204}) + @UnexpectedResponseExceptionType(ManagementException.class) + Mono> acceptRecommendations( + @HostParam("$host") String endpoint, + @PathParam("scheduleDefinitionId") String scheduleDefinitionId, + @PathParam("id") String id, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .stop( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to stop an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .resetDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .resetDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to reset all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .applyDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .applyDecisions( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to apply all decisions for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .sendReminders( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .sendReminders( + this.client.getEndpoint(), + scheduleDefinitionId, + id, + apiVersion, + this.client.getSubscriptionId(), + accept, + context); + } + + /** + * An action to send reminders for an access review instance. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return 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 = "2018-05-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 = "2018-05-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..044f579c0e758 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstanceOperationsImpl.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewInstanceOperationsImpl implements AccessReviewInstanceOperations { + @JsonIgnore private 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..9120e9bc6f259 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,441 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(AccessReviewInstancesAssignedForMyApprovalsClientImpl.class); + + /** 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, + @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown 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) { + 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> service.list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown 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, 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), scheduleDefinitionId, apiVersion, 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + return new PagedIterable<>(listAsync(scheduleDefinitionId)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, 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 = "2018-05-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 = "2018-05-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..8d939a95ca20f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesAssignedForMyApprovalsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewInstancesAssignedForMyApprovalsImpl + implements AccessReviewInstancesAssignedForMyApprovals { + @JsonIgnore + private 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, Context context) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, 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..c0bf306e077d7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewInstancesClientImpl.java @@ -0,0 +1,489 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(AccessReviewInstancesClientImpl.class); + + /** 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, + @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown 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) { + 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 = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown 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, 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 = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list( + this.client.getEndpoint(), + scheduleDefinitionId, + apiVersion, + this.client.getSubscriptionId(), + accept, + context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(String scheduleDefinitionId, Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(scheduleDefinitionId, 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId) { + return new PagedIterable<>(listAsync(scheduleDefinitionId)); + } + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(String scheduleDefinitionId, Context context) { + return new PagedIterable<>(listAsync(scheduleDefinitionId, 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 = "2018-05-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 = "2018-05-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..1c4b3d93747f1 --- /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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewInstancesImpl implements AccessReviewInstances { + @JsonIgnore private 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, Context context) { + PagedIterable inner = this.serviceClient().list(scheduleDefinitionId, 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..9502d4d632849 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionImpl.java @@ -0,0 +1,451 @@ +// Copyright (c) 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.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.DefaultDecisionType; +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 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 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 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 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 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..cc4e92e177f6a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.java @@ -0,0 +1,285 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = + new ClientLogger(AccessReviewScheduleDefinitionsAssignedForMyApprovalsClientImpl.class); + + /** 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, + @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. + * + * @throws ManagementException thrown 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() { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.list(this.client.getEndpoint(), apiVersion, accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review instances assigned for my approval. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown 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(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-05-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)); + } + + /** + * 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review instances assigned for my approval. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * Get access review instances assigned for my approval. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + 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 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..e11364c1e437f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl.java @@ -0,0 +1,50 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewScheduleDefinitionsAssignedForMyApprovalsImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApprovals { + @JsonIgnore + private 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(Context context) { + PagedIterable inner = this.serviceClient().list(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..bae65598da970 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsClientImpl.java @@ -0,0 +1,903 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionsClientImpl.class); + + /** 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, + @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. + * + * @throws ManagementException thrown 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() { + if (this.client.getEndpoint() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getEndpoint() is required and cannot be null.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + return FluxUtil + .withContext( + context -> + service + .list(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context)) + .>map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)) + .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly())); + } + + /** + * Get access review schedule 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 access review schedule definitions 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.")); + } + if (this.client.getSubscriptionId() == null) { + return Mono + .error( + new IllegalArgumentException( + "Parameter this.client.getSubscriptionId() is required and cannot be null.")); + } + final String apiVersion = "2018-05-01-preview"; + final String accept = "application/json"; + context = this.client.mergeContext(context); + return service + .list(this.client.getEndpoint(), apiVersion, this.client.getSubscriptionId(), accept, context) + .map( + res -> + new PagedResponseBase<>( + res.getRequest(), + res.getStatusCode(), + res.getHeaders(), + res.getValue().value(), + res.getValue().nextLink(), + null)); + } + + /** + * Get access review 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync() { + return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink)); + } + + /** + * Get access review schedule 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 access review schedule definitions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listAsync(Context context) { + return new PagedFlux<>( + () -> listSinglePageAsync(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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list() { + return new PagedIterable<>(listAsync()); + } + + /** + * Get access review schedule 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 access review schedule definitions. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable list(Context context) { + return new PagedIterable<>(listAsync(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 = "2018-05-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 = "2018-05-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 = "2018-05-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 = "2018-05-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 = "2018-05-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 = "2018-05-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 = "2018-05-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 = "2018-05-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..b7fc1b8f7c731 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AccessReviewScheduleDefinitionsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class AccessReviewScheduleDefinitionsImpl implements AccessReviewScheduleDefinitions { + @JsonIgnore private 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(Context context) { + PagedIterable inner = this.serviceClient().list(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..12424ae829d74 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/AuthorizationManagementClientBuilder.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.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.CookiePolicy; +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 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 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 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 (defaultPollInterval == null) { + this.defaultPollInterval = Duration.ofSeconds(30); + } + if (pipeline == null) { + this.pipeline = + new HttpPipelineBuilder() + .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()) + .build(); + } + 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..d9a4d3c15eccb --- /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 { + private final ClientLogger logger = new ClientLogger(AuthorizationManagementClientImpl.class); + + /** The ID of the target subscription. */ + private final String subscriptionId; + + /** + * Gets The ID of the target subscription. + * + * @return the subscriptionId value. + */ + public String getSubscriptionId() { + return this.subscriptionId; + } + + /** server parameter. */ + private final String endpoint; + + /** + * Gets server parameter. + * + * @return the endpoint value. + */ + public String getEndpoint() { + return this.endpoint; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** The default poll interval for long-running operation. */ + private final Duration defaultPollInterval; + + /** + * Gets The default poll interval for long-running operation. + * + * @return the defaultPollInterval value. + */ + public Duration getDefaultPollInterval() { + return this.defaultPollInterval; + } + + /** The OperationsClient object to access its operations. */ + private final OperationsClient operations; + + /** + * Gets the OperationsClient object to access its operations. + * + * @return the OperationsClient object. + */ + public OperationsClient getOperations() { + return this.operations; + } + + /** The 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 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 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 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; + } + + /** 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 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; + } + + /** + * Initializes an instance of AuthorizationManagementClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param defaultPollInterval The default poll interval for long-running operation. + * @param environment The Azure environment. + * @param subscriptionId The ID of the target subscription. + * @param endpoint server parameter. + */ + AuthorizationManagementClientImpl( + HttpPipeline httpPipeline, + SerializerAdapter serializerAdapter, + Duration defaultPollInterval, + AzureEnvironment environment, + String subscriptionId, + String endpoint) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.defaultPollInterval = defaultPollInterval; + this.subscriptionId = subscriptionId; + this.endpoint = endpoint; + this.operations = new OperationsClientImpl(this); + this.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.denyAssignments = new DenyAssignmentsClientImpl(this); + this.providerOperationsMetadatas = new ProviderOperationsMetadatasClientImpl(this); + this.roleAssignments = new RoleAssignmentsClientImpl(this); + this.permissions = new PermissionsClientImpl(this); + this.roleDefinitions = new RoleDefinitionsClientImpl(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); + } + + /** + * 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)); + } + } +} 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..ef779e97162e0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsClientImpl.java @@ -0,0 +1,1710 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(DenyAssignmentsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..8af498e070094 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/DenyAssignmentsImpl.java @@ -0,0 +1,150 @@ +// Copyright (c) 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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class DenyAssignmentsImpl implements DenyAssignments { + @JsonIgnore private 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..71cb365c6d5e3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesClientImpl.java @@ -0,0 +1,329 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(EligibleChildResourcesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..b93cfef282c37 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/EligibleChildResourcesImpl.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class EligibleChildResourcesImpl implements EligibleChildResources { + @JsonIgnore private 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..b771439146873 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsClientImpl.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.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(OperationsClientImpl.class); + + /** 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 = "2018-05-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 = "2018-05-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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..35b94c8cbe434 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/OperationsImpl.java @@ -0,0 +1,47 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class OperationsImpl implements Operations { + @JsonIgnore private 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..1956dd8c6020e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsClientImpl.java @@ -0,0 +1,701 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(PermissionsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..f91b0e1750656 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/PermissionsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class PermissionsImpl implements Permissions { + @JsonIgnore private 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..16e738021fbc4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasClientImpl.java @@ -0,0 +1,460 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.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.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 { + private final ClientLogger logger = new ClientLogger(ProviderOperationsMetadatasClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..34bb99b9e471e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/ProviderOperationsMetadatasImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class ProviderOperationsMetadatasImpl implements ProviderOperationsMetadatas { + @JsonIgnore private 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..adbedb6d896d7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsClientImpl.java @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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.core.util.logging.ClientLogger; +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 { + private final ClientLogger logger = new ClientLogger(RoleAssignmentMetricsClientImpl.class); + + /** 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..16d3862f2baa4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentMetricsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleAssignmentMetricsImpl implements RoleAssignmentMetrics { + @JsonIgnore private 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..d91d0f1f1a17c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesClientImpl.java @@ -0,0 +1,502 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstancesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..89127be3a43de --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleInstancesImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleAssignmentScheduleInstancesImpl implements RoleAssignmentScheduleInstances { + @JsonIgnore private 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..e99dcf0c5465f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsClientImpl.java @@ -0,0 +1,859 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..8c21818336f3a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentScheduleRequestsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleAssignmentScheduleRequestsImpl implements RoleAssignmentScheduleRequests { + @JsonIgnore private 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..65e8f4536875f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesClientImpl.java @@ -0,0 +1,481 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(RoleAssignmentSchedulesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..249f69120172d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentSchedulesImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { + @JsonIgnore private 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..48b77e8c5f94f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsClientImpl.java @@ -0,0 +1,2786 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleAssignmentsClientImpl.class); + + /** 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, + @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 = "2020-10-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 = "2020-10-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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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 = "2020-10-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 = "2020-10-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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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 = "2020-10-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 = "2020-10-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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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) { + 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, 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 scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException 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, 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, 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 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope, String filter, String tenantId) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId), + 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync(String scope) { + final String filter = null; + final String tenantId = null; + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId), + 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 context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + private PagedFlux listForScopeAsync( + String scope, String filter, String tenantId, Context context) { + return new PagedFlux<>( + () -> listForScopeSinglePageAsync(scope, filter, tenantId, 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. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope(String scope) { + final String filter = null; + final String tenantId = null; + return new PagedIterable<>(listForScopeAsync(scope, filter, tenantId)); + } + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listForScope( + String scope, String filter, String tenantId, Context context) { + return new PagedIterable<>(listForScopeAsync(scope, filter, tenantId, 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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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 = "2020-10-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..53784ceb6e2f4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleAssignmentsImpl.java @@ -0,0 +1,276 @@ +// Copyright (c) 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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleAssignmentsImpl implements RoleAssignments { + @JsonIgnore private 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, Context context) { + PagedIterable inner = this.serviceClient().listForScope(scope, filter, tenantId, 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..2daac5d51b3cd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsClientImpl.java @@ -0,0 +1,879 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleDefinitionsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..7161453c2491f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleDefinitionsImpl.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleDefinitionsImpl implements RoleDefinitions { + @JsonIgnore private 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..95cf956dfa81c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesClientImpl.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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstancesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..7d82c7f68f208 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleInstancesImpl.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleEligibilityScheduleInstancesImpl implements RoleEligibilityScheduleInstances { + @JsonIgnore private 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..569d3db8377b7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsClientImpl.java @@ -0,0 +1,855 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..9e5fc02914220 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilityScheduleRequestsImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleEligibilityScheduleRequestsImpl implements RoleEligibilityScheduleRequests { + @JsonIgnore private 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..af19c93ddfc5c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesClientImpl.java @@ -0,0 +1,482 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Headers; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.management.exception.ManagementException; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.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 { + private final ClientLogger logger = new ClientLogger(RoleEligibilitySchedulesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..39348de07283d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleEligibilitySchedulesImpl.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.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleEligibilitySchedulesImpl implements RoleEligibilitySchedules { + @JsonIgnore private 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..5616a7e46562e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesClientImpl.java @@ -0,0 +1,730 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleManagementPoliciesClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..7f5425bc7b2bd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPoliciesImpl.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.implementation; + +import com.azure.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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleManagementPoliciesImpl implements RoleManagementPolicies { + @JsonIgnore private 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..66ef04ffc1f09 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsClientImpl.java @@ -0,0 +1,789 @@ +// Copyright (c) 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.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.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 { + private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentsClientImpl.class); + + /** 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. + */ + @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. + */ + @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. + */ + @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. + */ + @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..a5ecd5df82f78 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/RoleManagementPolicyAssignmentsImpl.java @@ -0,0 +1,221 @@ +// Copyright (c) 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; +import com.fasterxml.jackson.annotation.JsonIgnore; + +public final class RoleManagementPolicyAssignmentsImpl implements RoleManagementPolicyAssignments { + @JsonIgnore private 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..37a53e1b81087 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/implementation/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the implementations for AuthorizationManagementClient. Access reviews service provides the + * workflow for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.implementation; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java new file mode 100644 index 0000000000000..cec9cb160cc05 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessRecommendationType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..2cfcfa920fbb0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewActorIdentityType.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.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); + } + + /** @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..0839efc4fed8f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewApplyResult.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 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); + } + + /** @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..e158e40c488ad --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecision.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.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 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 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..0506286559dd3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDecisionListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of access review decisions. */ +@Fluent +public final class AccessReviewDecisionListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewDecisionListResult.class); + + /* + * 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/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..0853240b55333 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewDefaultSettings.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.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 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..ace016ef31ee8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceDecisions.java @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of 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. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instance decisions. + */ + PagedIterable list(String scheduleDefinitionId, String id, Context context); +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/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..02a7fced6c49b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewInstanceInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Instances. */ +@Fluent +public final class AccessReviewInstanceListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewInstanceListResult.class); + + /* + * 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..4965a61617250 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceMyDecisions.java @@ -0,0 +1,101 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.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. + */ + PagedIterable list(String scheduleDefinitionId, String id); + + /** + * Get my access review instance decisions. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my access review instance decisions. + */ + PagedIterable list(String scheduleDefinitionId, String id, Context context); + + /** + * Get my single access review instance decision. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return my single access review instance decision. + */ + 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..8fc794980cad9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstanceStatus.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.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); + } + + /** @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..d061fa7f5a0b3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstances.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + PagedIterable list(String scheduleDefinitionId, Context context); + + /** + * Get access review instances. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances. + */ + 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..5798cc29e39bd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewInstancesAssignedForMyApprovals.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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. + */ + PagedIterable list(String scheduleDefinitionId); + + /** + * Get access review instances assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + PagedIterable list(String scheduleDefinitionId, Context context); + + /** + * Get single access review instance assigned for my approval. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review instance assigned for my approval. + */ + 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..bd992cafcaade --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrencePatternType.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.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); + } + + /** @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..2edd6bc36ec55 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewRecurrenceRangeType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..ee0ef750bbc58 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewResult.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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); + } + + /** @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..3b0bbbd18d5dd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewer.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Descriptor for what needs to be reviewed. */ +@Fluent +public final class AccessReviewReviewer { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewReviewer.class); + + /* + * 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..29a9416c61b31 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewReviewerType.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.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); + } + + /** @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..ac6197c84f4ef --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinition.java @@ -0,0 +1,786 @@ +// Copyright (c) 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.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 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 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 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.WithInstances, + DefinitionStages.WithMailNotificationsEnabled, + DefinitionStages.WithReminderNotificationsEnabled, + DefinitionStages.WithDefaultDecisionEnabled, + DefinitionStages.WithJustificationRequiredOnApproval, + DefinitionStages.WithDefaultDecision, + DefinitionStages.WithAutoApplyDecisionsEnabled, + DefinitionStages.WithRecommendationsEnabled, + DefinitionStages.WithInstanceDurationInDays, + DefinitionStages.WithType, + DefinitionStages.WithInterval, + 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 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 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.WithInstances, + UpdateStages.WithMailNotificationsEnabled, + UpdateStages.WithReminderNotificationsEnabled, + UpdateStages.WithDefaultDecisionEnabled, + UpdateStages.WithJustificationRequiredOnApproval, + UpdateStages.WithDefaultDecision, + UpdateStages.WithAutoApplyDecisionsEnabled, + UpdateStages.WithRecommendationsEnabled, + UpdateStages.WithInstanceDurationInDays, + UpdateStages.WithType, + UpdateStages.WithInterval, + 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 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 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..b1de35c1f91e1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewScheduleDefinitionInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** List of Access Review Schedule Definitions. */ +@Fluent +public final class AccessReviewScheduleDefinitionListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(AccessReviewScheduleDefinitionListResult.class); + + /* + * 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..bee665b099648 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionReviewersType.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 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); + } + + /** @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..560d16a795e67 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionStatus.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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); + } + + /** @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..dbf36eba41b6a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitions.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.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. + */ + PagedIterable list(); + + /** + * Get access review schedule definitions. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review schedule definitions. + */ + PagedIterable list(Context context); + + /** + * Get single access review definition. + * + * @param scheduleDefinitionId The id of the access review schedule definition. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return single access review definition. + */ + 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..8a24fbbd413ca --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScheduleDefinitionsAssignedForMyApprovals.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.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. + */ + PagedIterable list(); + + /** + * Get access review instances assigned for my approval. + * + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return access review instances assigned for my approval. + */ + PagedIterable list(Context context); +} 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..af6c6a4931eac --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AccessReviewScopePrincipalType.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.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 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); + } + + /** @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..3965cabf1905f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalMode.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.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); + } + + /** @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..d28021f4ae609 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalSettings.java @@ -0,0 +1,158 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The approval settings. */ +@Fluent +public final class ApprovalSettings { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ApprovalSettings.class); + + /* + * 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..089ca720b3d39 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ApprovalStage.java @@ -0,0 +1,193 @@ +// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The approval stage. */ +@Fluent +public final class ApprovalStage { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ApprovalStage.class); + + /* + * 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..101b7c3279798 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/AssignmentType.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.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); + } + + /** @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/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..7c83b2a1a3317 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DecisionTargetType.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.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); + } + + /** @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..b9ecaf29a3f0a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DefaultDecisionType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..b2e94857f873f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.DenyAssignmentInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment list operation result. */ +@Fluent +public final class DenyAssignmentListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentListResult.class); + + /* + * 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..3270d2d3f0df1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/DenyAssignmentPermission.java @@ -0,0 +1,130 @@ +// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Deny assignment permissions. */ +@Fluent +public final class DenyAssignmentPermission { + @JsonIgnore private final ClientLogger logger = new ClientLogger(DenyAssignmentPermission.class); + + /* + * 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..a8a28dcd12313 --- /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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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..0ded6e28c2d59 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResources.java @@ -0,0 +1,38 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.util.Context; + +/** Resource collection API of 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. + */ + 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. + */ + 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..654ab0b6a099d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EligibleChildResourcesListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.EligibleChildResourceInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Eligible child resources list operation result. */ +@Fluent +public final class EligibleChildResourcesListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(EligibleChildResourcesListResult.class); + + /* + * 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..4ec5af7b0467e --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/EnablementRules.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..eb4db9a0572d3 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedProperties.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The ExpandedProperties model. */ +@Fluent +public final class ExpandedProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExpandedProperties.class); + + /* + * 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..1ea7a092589df --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesPrincipal.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the principal. */ +@Fluent +public final class ExpandedPropertiesPrincipal { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExpandedPropertiesPrincipal.class); + + /* + * 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..d451e85eea748 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesRoleDefinition.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of role definition. */ +@Fluent +public final class ExpandedPropertiesRoleDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExpandedPropertiesRoleDefinition.class); + + /* + * 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..5c08b6e9a660c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ExpandedPropertiesScope.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class ExpandedPropertiesScope { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ExpandedPropertiesScope.class); + + /* + * 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..6b36c8556e295 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/MemberType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..edefc3edc5e30 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationDeliveryMechanism.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.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); + } + + /** @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..cbf50c1c121f4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/NotificationLevel.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..f48fda5434989 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationDisplay.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The display information for a Microsoft.Authorization operation. */ +@Immutable +public final class OperationDisplay { + @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationDisplay.class); + + /* + * 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..50812b448e921 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/OperationListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.OperationInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationListResult.class); + + /* + * 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..64f02f7d5500f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Operations.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.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. + */ + 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. + */ + 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..2cc6a43bde49b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PermissionGetResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.PermissionInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Permissions information. */ +@Fluent +public final class PermissionGetResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PermissionGetResult.class); + + /* + * 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..d79a9e48cdf43 --- /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. + */ + 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. + */ + 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. + */ + 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. + */ + 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..56749b5991613 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentProperties.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The PolicyAssignmentProperties model. */ +@Fluent +public final class PolicyAssignmentProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyAssignmentProperties.class); + + /* + * 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..a19dcdf1e925f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesPolicy.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Details of the policy. */ +@Fluent +public final class PolicyAssignmentPropertiesPolicy { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyAssignmentPropertiesPolicy.class); + + /* + * 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..31044880bd13f --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesRoleDefinition.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of role definition. */ +@Fluent +public final class PolicyAssignmentPropertiesRoleDefinition { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyAssignmentPropertiesRoleDefinition.class); + + /* + * 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..85ad50261f3ab --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyAssignmentPropertiesScope.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class PolicyAssignmentPropertiesScope { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyAssignmentPropertiesScope.class); + + /* + * 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..967b5501df3c8 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyProperties.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.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The PolicyProperties model. */ +@Immutable +public final class PolicyProperties { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyProperties.class); + + /* + * 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..44d81b89cc24d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PolicyPropertiesScope.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Details of the resource scope. */ +@Fluent +public final class PolicyPropertiesScope { + @JsonIgnore private final ClientLogger logger = new ClientLogger(PolicyPropertiesScope.class); + + /* + * 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..983f2bed665e9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Principal.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The name of the entity last modified it. */ +@Fluent +public final class Principal { + @JsonIgnore private final ClientLogger logger = new ClientLogger(Principal.class); + + /* + * 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..44a6ebc8241aa --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/PrincipalType.java @@ -0,0 +1,43 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.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); + } + + /** @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..7473d8f6ac600 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperation.java @@ -0,0 +1,180 @@ +// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Operation. */ +@Fluent +public final class ProviderOperation { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ProviderOperation.class); + + /* + * 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..d92b08b22c96d --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ProviderOperationsMetadataListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.ProviderOperationsMetadataInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Provider operations metadata list. */ +@Fluent +public final class ProviderOperationsMetadataListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ProviderOperationsMetadataListResult.class); + + /* + * 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..eeb9db4646314 --- /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. + */ + 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. + */ + 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..530a631c1d17c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RecipientType.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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..c02a66299781c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RequestType.java @@ -0,0 +1,55 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** 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); + } + + /** @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..02b8508dddaec --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ResourceType.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Resource Type. */ +@Fluent +public final class ResourceType { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ResourceType.class); + + /* + * 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..6939e87e43ffc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentCreateParameters.java @@ -0,0 +1,260 @@ +// Copyright (c) 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Role assignment create parameters. */ +@Fluent +public final class RoleAssignmentCreateParameters { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentCreateParameters.class); + + /* + * 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(); + } + } +} 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..c30a0abdc159a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentListResult.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.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment list operation result. */ +@Fluent +public final class RoleAssignmentListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentListResult.class); + + /* + * 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..cddfc762b1eef --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstanceListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInstanceInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule instance list operation result. */ +@Fluent +public final class RoleAssignmentScheduleInstanceListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleInstanceListResult.class); + + /* + * 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..f4d8c20af6e75 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleInstances.java @@ -0,0 +1,68 @@ +// Copyright (c) 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. + */ + 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. + */ + 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..b6e81350647c2 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule list operation result. */ +@Fluent +public final class RoleAssignmentScheduleListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleListResult.class); + + /* + * 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..f0e016da771c9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleAssignmentScheduleRequestInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role assignment schedule request list operation result. */ +@Fluent +public final class RoleAssignmentScheduleRequestListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestListResult.class); + + /* + * 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..fd6f3b9b5d7a5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfo.java @@ -0,0 +1,82 @@ +// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Schedule info of the role assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesScheduleInfo { + @JsonIgnore + private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestPropertiesScheduleInfo.class); + + /* + * 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..e44f30ed44303 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Expiration of the role assignment schedule. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { + @JsonIgnore + private final ClientLogger logger = + new ClientLogger(RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration.class); + + /* + * 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..8832cfc836d79 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignmentScheduleRequestPropertiesTicketInfo.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.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Ticket Info of the role assignment. */ +@Fluent +public final class RoleAssignmentScheduleRequestPropertiesTicketInfo { + @JsonIgnore + private final ClientLogger logger = new ClientLogger(RoleAssignmentScheduleRequestPropertiesTicketInfo.class); + + /* + * 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..6db8693578fc1 --- /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. + */ + 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. + */ + 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..d1ed67e0db9d9 --- /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. + */ + 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. + */ + 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..4db5c25774440 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleAssignments.java @@ -0,0 +1,371 @@ +// Copyright (c) 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + 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. + */ + PagedIterable listForScope(String scope); + + /** + * List all role assignments that apply to a scope. + * + * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: + * '/subscriptions/{subscriptionId}'), resource group (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: + * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. + * @param filter The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or + * above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope + * for the specified principal. + * @param tenantId Tenant ID for cross-tenant request. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return role assignment list operation result. + */ + PagedIterable listForScope(String scope, String filter, String tenantId, Context context); + + /** + * Get a role assignment by ID. + * + * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource name, and + * resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. + * Example: + * /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a role assignment by ID. + */ + 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..653816ca3ae40 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitionListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleDefinitionInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role definition list operation result. */ +@Fluent +public final class RoleDefinitionListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleDefinitionListResult.class); + + /* + * 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..8f304387ddb06 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleDefinitions.java @@ -0,0 +1,147 @@ +// Copyright (c) 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. + */ + 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. + */ + 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..207fe07774df5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstanceListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInstanceInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role eligibility schedule instance list operation result. */ +@Fluent +public final class RoleEligibilityScheduleInstanceListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleInstanceListResult.class); + + /* + * 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..5283d8ed30c85 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleInstances.java @@ -0,0 +1,68 @@ +// Copyright (c) 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. + */ + 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. + */ + 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..e96c0fe669eed --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** role eligibility schedule list operation result. */ +@Fluent +public final class RoleEligibilityScheduleListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleListResult.class); + + /* + * 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..ed7254cc7aee9 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleEligibilityScheduleRequestInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role eligibility schedule request list operation result. */ +@Fluent +public final class RoleEligibilityScheduleRequestListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestListResult.class); + + /* + * 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..d2975e8049821 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfo.java @@ -0,0 +1,82 @@ +// Copyright (c) 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.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Schedule info of the role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesScheduleInfo { + @JsonIgnore + private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestPropertiesScheduleInfo.class); + + /* + * 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..79c1cbbc3fe53 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.time.OffsetDateTime; + +/** Expiration of the role eligibility schedule. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { + @JsonIgnore + private final ClientLogger logger = + new ClientLogger(RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration.class); + + /* + * 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..727e294a448e4 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleEligibilityScheduleRequestPropertiesTicketInfo.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.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Ticket Info of the role eligibility. */ +@Fluent +public final class RoleEligibilityScheduleRequestPropertiesTicketInfo { + @JsonIgnore + private final ClientLogger logger = new ClientLogger(RoleEligibilityScheduleRequestPropertiesTicketInfo.class); + + /* + * 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..6ecf80f2af555 --- /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. + */ + 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. + */ + 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..70cb40a33cd5a --- /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. + */ + 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. + */ + 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..6e03d1422ddcd --- /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. + */ + 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. + */ + 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..4466cec7e2f50 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyApprovalRule.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import 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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyApprovalRule.class); + + /* + * 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..4cb506821bf1c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignmentListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyAssignmentInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role management policy assignment list operation result. */ +@Fluent +public final class RoleManagementPolicyAssignmentListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAssignmentListResult.class); + + /* + * 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..1c73c85c4c357 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAssignments.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.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. + */ + 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. + */ + 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..52bdca1932b7a --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyAuthenticationContextRule.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +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 { + @JsonIgnore + private final ClientLogger logger = new ClientLogger(RoleManagementPolicyAuthenticationContextRule.class); + + /* + * 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..2f3f0471892a5 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyEnablementRule.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyEnablementRule.class); + + /* + * 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..5c5a2e30ad7af --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyExpirationRule.java @@ -0,0 +1,96 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyExpirationRule.class); + + /* + * 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..cced40d986f84 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyListResult.java @@ -0,0 +1,81 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.RoleManagementPolicyInner; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** Role management policy list operation result. */ +@Fluent +public final class RoleManagementPolicyListResult { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyListResult.class); + + /* + * 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..5d15a083775a7 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyNotificationRule.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import 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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyNotificationRule.class); + + /* + * 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..d95e85d44d0af --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRule.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.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +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 { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyRule.class); + + /* + * 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..f337972e417bc --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleTarget.java @@ -0,0 +1,181 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The role management policy rule target. */ +@Fluent +public final class RoleManagementPolicyRuleTarget { + @JsonIgnore private final ClientLogger logger = new ClientLogger(RoleManagementPolicyRuleTarget.class); + + /* + * 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..dfb838d3c9582 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/RoleManagementPolicyRuleType.java @@ -0,0 +1,48 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** Defines values for 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); + } + + /** @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/ServicePrincipalDecisionTarget.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ServicePrincipalDecisionTarget.java new file mode 100644 index 0000000000000..fd1ed03b69342 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ServicePrincipalDecisionTarget.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.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionTarget; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** Service Principal Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("servicePrincipal") +@Immutable +public final class ServicePrincipalDecisionTarget extends AccessReviewDecisionTarget { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ServicePrincipalDecisionTarget.class); + + /* + * The id of service principal whose access is reviewed. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The display name of the service principal whose access was reviewed. + */ + @JsonProperty(value = "principalName", access = JsonProperty.Access.WRITE_ONLY) + private String principalName; + + /* + * The appId for the service principal entity being reviewed + */ + @JsonProperty(value = "appId", access = JsonProperty.Access.WRITE_ONLY) + private String appId; + + /** + * Get the principalId property: The id of service principal whose access is reviewed. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the principalName property: The display name of the service principal whose access was reviewed. + * + * @return the principalName value. + */ + public String principalName() { + return this.principalName; + } + + /** + * 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/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..5febc0f973272 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Status.java @@ -0,0 +1,94 @@ +// Copyright (c) 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); + } + + /** @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..f71047e1fec4c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/Type.java @@ -0,0 +1,37 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.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); + } + + /** @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/UserDecisionTarget.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserDecisionTarget.java new file mode 100644 index 0000000000000..84f1bdee6554b --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserDecisionTarget.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.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.azure.resourcemanager.authorization.generated.fluent.models.AccessReviewDecisionTarget; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; + +/** User Decision Target. */ +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type") +@JsonTypeName("user") +@Immutable +public final class UserDecisionTarget extends AccessReviewDecisionTarget { + @JsonIgnore private final ClientLogger logger = new ClientLogger(UserDecisionTarget.class); + + /* + * The id of user whose access was reviewed. + */ + @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY) + private String principalId; + + /* + * The display name of the user whose access was reviewed. + */ + @JsonProperty(value = "principalName", access = JsonProperty.Access.WRITE_ONLY) + private String principalName; + + /* + * The user principal name of the user whose access was reviewed. + */ + @JsonProperty(value = "userPrincipalName", access = JsonProperty.Access.WRITE_ONLY) + private String userPrincipalName; + + /** + * Get the principalId property: The id of user whose access was reviewed. + * + * @return the principalId value. + */ + public String principalId() { + return this.principalId; + } + + /** + * Get the principalName property: The display name of the user whose access was reviewed. + * + * @return the principalName value. + */ + public String principalName() { + return this.principalName; + } + + /** + * 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/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..afbc3b8cf0670 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserSet.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.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The detail of a user. */ +@Fluent +public final class UserSet { + @JsonIgnore private final ClientLogger logger = new ClientLogger(UserSet.class); + + /* + * 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..45d8540e64c1c --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/UserType.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.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); + } + + /** @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..27c46db779541 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/ValidationResponseErrorInfo.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.resourcemanager.authorization.generated.models; + +import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** Failed validation result details. */ +@Immutable +public final class ValidationResponseErrorInfo { + @JsonIgnore private final ClientLogger logger = new ClientLogger(ValidationResponseErrorInfo.class); + + /* + * 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..a17b72025cbf1 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/models/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the data models for AuthorizationManagementClient. Access reviews service provides the workflow + * for running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated.models; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java new file mode 100644 index 0000000000000..156190451efbe --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/com/azure/resourcemanager/authorization/generated/package-info.java @@ -0,0 +1,9 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +/** + * Package containing the classes for AuthorizationManagementClient. Access reviews service provides the workflow for + * running access reviews on different kind of resources. + */ +package com.azure.resourcemanager.authorization.generated; diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java new file mode 100644 index 0000000000000..ff6e8e09354da --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/main/java/module-info.java @@ -0,0 +1,19 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +module com.azure.resourcemanager.authorization.generated { + requires transitive com.azure.core.management; + + exports com.azure.resourcemanager.authorization.generated; + exports com.azure.resourcemanager.authorization.generated.fluent; + exports com.azure.resourcemanager.authorization.generated.fluent.models; + exports com.azure.resourcemanager.authorization.generated.models; + + opens com.azure.resourcemanager.authorization.generated.fluent.models to + com.azure.core, + com.fasterxml.jackson.databind; + opens com.azure.resourcemanager.authorization.generated.models to + com.azure.core, + com.fasterxml.jackson.databind; +} diff --git a/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/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..ad8a28415867e --- /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/2018-05-01-preview/examples/GetAccessReviewDefaultSettings.json + */ + /** + * Sample code: GetAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewDefaultSettingsOperations().getWithResponse(Context.NONE); + } +} 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..e1321ce86df40 --- /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/2018-05-01-preview/examples/PutAccessReviewDefaultSettings.json + */ + /** + * Sample code: PutAccessReviewDefaultSettings. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReviewDefaultSettings( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewDefaultSettingsOperations() + .putWithResponse(new AccessReviewScheduleSettings(), Context.NONE); + } +} 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..116614f86993b --- /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/2018-05-01-preview/examples/GetAccessReviewInstanceDecisions.json + */ + /** + * Sample code: GetAccessReviewInstanceDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceDecisions() + .list("265785a7-a81f-4201-8a18-bb0db95982b7", "f25ed880-9c31-4101-bc57-825d8df3b58c", Context.NONE); + } +} 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..ba6a7997dae32 --- /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/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: GetAccessReviewInstanceMyDecisionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceMyDecisionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + Context.NONE); + } +} 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..a707a9d078577 --- /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/2018-05-01-preview/examples/GetAccessReviewInstanceMyDecisions.json + */ + /** + * Sample code: GetAccessReviewInstanceMyDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceMyDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} 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..fb9d21b7dec0f --- /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/2018-05-01-preview/examples/PatchAccessReviewInstanceMyDecisionById.json + */ + /** + * Sample code: PatchAccessReviewInstanceMyDecisionById. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void patchAccessReviewInstanceMyDecisionById( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceMyDecisions() + .patchWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", + "4135f961-be78-4005-8101-c72a5af307a2", + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", + new AccessReviewDecisionProperties(), + Context.NONE); + } +} 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..3dc0d7cb8b222 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationAcceptRecommendationsSamples.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 AccessReviewInstanceOperation AcceptRecommendations. */ +public final class AccessReviewInstanceOperationAcceptRecommendationsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceAcceptRecommendations.json + */ + /** + * Sample code: AccessReviewInstanceAcceptRecommendations. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceAcceptRecommendations( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .acceptRecommendationsWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} 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..9ae41d38b60fd --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationApplyDecisionsSamples.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 AccessReviewInstanceOperation ApplyDecisions. */ +public final class AccessReviewInstanceOperationApplyDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceApplyDecisions.json + */ + /** + * Sample code: AccessReviewInstanceApplyDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceApplyDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .applyDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} 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..1d104909269b0 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationResetDecisionsSamples.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 AccessReviewInstanceOperation ResetDecisions. */ +public final class AccessReviewInstanceOperationResetDecisionsSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceResetDecisions.json + */ + /** + * Sample code: AccessReviewInstanceResetDecisions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceResetDecisions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .resetDecisionsWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} 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..ff8a6006e0240 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationSendRemindersSamples.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 AccessReviewInstanceOperation SendReminders. */ +public final class AccessReviewInstanceOperationSendRemindersSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/AccessReviewInstanceSendReminders.json + */ + /** + * Sample code: AccessReviewInstanceSendReminders. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void accessReviewInstanceSendReminders( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .sendRemindersWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} 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..141485f6b1387 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewInstanceOperationStopSamples.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 AccessReviewInstanceOperation Stop. */ +public final class AccessReviewInstanceOperationStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewInstance.json + */ + /** + * Sample code: StopAccessReviewInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void stopAccessReviewInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstanceOperations() + .stopWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "d9b9e056-7004-470b-bf21-1635e98487da", Context.NONE); + } +} 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..94d4afdd30497 --- /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/2018-05-01-preview/examples/GetAccessReviewInstanceAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewInstanceAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstanceAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .getByIdWithResponse( + "488a6d0e-0a63-4946-86e3-1f5bbc934661", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} 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..7d845ff819b3a --- /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/2018-05-01-preview/examples/GetAccessReviewInstancesAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewInstancesAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstancesAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstancesAssignedForMyApprovals() + .list("488a6d0e-0a63-4946-86e3-1f5bbc934661", Context.NONE); + } +} 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..262d76a1d0ef6 --- /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/2018-05-01-preview/examples/GetAccessReviewInstance.json + */ + /** + * Sample code: GetAccessReviewInstance. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstance( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewInstances() + .getByIdWithResponse( + "fa73e90b-5bf1-45fd-a182-35ce5fc0674d", "4135f961-be78-4005-8101-c72a5af307a2", Context.NONE); + } +} 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..2f59604bf1eaf --- /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/2018-05-01-preview/examples/GetAccessReviewInstances.json + */ + /** + * Sample code: GetAccessReviewInstances. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewInstances( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewInstances().list("265785a7-a81f-4201-8a18-bb0db95982b7", Context.NONE); + } +} 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..031551549f2b3 --- /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/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitionsAssignedForMyApproval.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinitionsAssignedForMyApproval. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinitionsAssignedForMyApproval( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitionsAssignedForMyApprovals().list(Context.NONE); + } +} 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..94c950b256043 --- /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/2018-05-01-preview/examples/PutAccessReviewScheduleDefinition.json + */ + /** + * Sample code: PutAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void putAccessReview(com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().define("fa73e90b-5bf1-45fd-a182-35ce5fc0674d").create(); + } +} 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..6581d726d2323 --- /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/2018-05-01-preview/examples/DeleteAccessReviewScheduleDefinition.json + */ + /** + * Sample code: DeleteAccessReview. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteAccessReview( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .deleteByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} 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..bb6a072a33595 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsGetByIdSamples.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 GetById. */ +public final class AccessReviewScheduleDefinitionsGetByIdSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/GetAccessReviewScheduleDefinition.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .getByIdWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} 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..6f416d996e681 --- /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/2018-05-01-preview/examples/GetAccessReviewScheduleDefinitions.json + */ + /** + * Sample code: GetAccessReviewScheduleDefinitions. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getAccessReviewScheduleDefinitions( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.accessReviewScheduleDefinitions().list(Context.NONE); + } +} 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..2af9b2f215470 --- /dev/null +++ b/sdk/authorization/azure-resourcemanager-authorization-generated/src/samples/java/com/azure/resourcemanager/authorization/generated/generated/AccessReviewScheduleDefinitionsStopSamples.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 Stop. */ +public final class AccessReviewScheduleDefinitionsStopSamples { + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/examples/StopAccessReviewScheduleDefinition.json + */ + /** + * Sample code: StopAccessReviewScheduleDefinition. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void stopAccessReviewScheduleDefinition( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .accessReviewScheduleDefinitions() + .stopWithResponse("fa73e90b-5bf1-45fd-a182-35ce5fc0674d", Context.NONE); + } +} 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..95a4fc17ad1a3 --- /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/2020-10-01-preview/examples/RoleAssignments_CreateById.json + */ + /** + * Sample code: Create or update role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createOrUpdateRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .createByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} 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..2171587b36395 --- /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/2020-10-01-preview/examples/RoleAssignments_CreateForSubscription.json + */ + /** + * Sample code: Create role assignment for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResourceGroup.json + */ + /** + * Sample code: Create role assignment for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_CreateForResource.json + */ + /** + * Sample code: Create role assignment for resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void createRoleAssignmentForResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .define("05c5a614-a7d6-4502-b150-c2fb455033ff") + .withExistingScope( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/resourceGroups/testrg/providers/Microsoft.DocumentDb/databaseAccounts/test-db-account") + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER) + .create(); + } +} 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..338f4f94db140 --- /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/2020-10-01-preview/examples/RoleAssignments_DeleteById.json + */ + /** + * Sample code: Delete role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} 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..4c451253f3f58 --- /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/2020-10-01-preview/examples/RoleAssignments_Delete.json + */ + /** + * Sample code: Delete role assignment. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void deleteRoleAssignment( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .deleteWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} 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..11414f498b327 --- /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/2020-10-01-preview/examples/RoleAssignments_GetById.json + */ + /** + * Sample code: Get role assignment by ID. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByID( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} 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..864cafccc0a50 --- /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/2020-10-01-preview/examples/RoleAssignments_Get.json + */ + /** + * Sample code: Get role assignment by scope and name. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void getRoleAssignmentByScopeAndName( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .getWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "b0f43c54-e787-4862-89b1-a653fa9cf747", + null, + Context.NONE); + } +} 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..72f7347096155 --- /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/2020-10-01-preview/examples/RoleAssignments_ListForResourceGroup.json + */ + /** + * Sample code: List role assignments for resource group. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForResourceGroup( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().listByResourceGroup("testrg", null, null, Context.NONE); + } +} 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..2cd5fbcd0f3ce --- /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/2020-10-01-preview/examples/RoleAssignments_ListForResource.json + */ + /** + * Sample code: List role assignments for a resource. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForAResource( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForResource( + "testrg", "Microsoft.DocumentDb", "databaseAccounts", "test-db-account", null, null, Context.NONE); + } +} 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..0508654146650 --- /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/2020-10-01-preview/examples/RoleAssignments_ListForScope.json + */ + /** + * Sample code: List role assignments for scope. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForScope( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .listForScope("subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", null, null, Context.NONE); + } +} 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..c9385d01d2165 --- /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/2020-10-01-preview/examples/RoleAssignments_ListForSubscription.json + */ + /** + * Sample code: List role assignments for subscription. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void listRoleAssignmentsForSubscription( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager.roleAssignments().list(null, null, Context.NONE); + } +} 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..443245c04400c --- /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/2020-10-01-preview/examples/RoleAssignments_ValidateByIdInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateByIdValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation by ID with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationByIDWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateByIdWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleAssignments/b0f43c54-e787-4862-89b1-a653fa9cf747", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} 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..204096d3f89a9 --- /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/2020-10-01-preview/examples/RoleAssignments_ValidateInvalid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with failed validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithFailedValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } + + /* + * x-ms-original-file: specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/examples/RoleAssignments_ValidateValid.json + */ + /** + * Sample code: Validate a role assignment create or update operation with successful validation. + * + * @param manager Entry point to AuthorizationManager. + */ + public static void validateARoleAssignmentCreateOrUpdateOperationWithSuccessfulValidation( + com.azure.resourcemanager.authorization.generated.AuthorizationManager manager) { + manager + .roleAssignments() + .validateWithResponse( + "subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2", + "05c5a614-a7d6-4502-b150-c2fb455033ff", + new RoleAssignmentCreateParameters() + .withRoleDefinitionId( + "/subscriptions/a925f2f7-5c63-4b7b-8799-25a5f97bc3b2/providers/Microsoft.Authorization/roleDefinitions/0b5fe924-9a61-425c-96af-cfe6e287ca2d") + .withPrincipalId("ce2ce14e-85d7-4629-bdbc-454d0519d987") + .withPrincipalType(PrincipalType.USER), + Context.NONE); + } +} 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 + + + +