From 7d77f408621e4208bbec1562b4d6e241a0fc4f0d Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 30 May 2023 07:37:34 +0000 Subject: [PATCH] CodeGen from PR 24218 in Azure/azure-rest-api-specs Merge 6c924680cca9364020b6230caf7b56b60b11740a into a81abb255dcdc7c04052f6d7d78c019d4ba5dc1a --- common/config/rush/pnpm-lock.yaml | 16 +- .../arm-authorization/CHANGELOG.md | 348 +- sdk/authorization/arm-authorization/README.md | 4 +- .../arm-authorization/_meta.json | 6 +- .../arm-authorization/package.json | 18 +- .../review/arm-authorization.api.md | 1820 ++++----- .../src/authorizationManagementClient.ts | 216 +- .../arm-authorization/src/lroImpl.ts | 42 + .../arm-authorization/src/models/index.ts | 3361 +++++++++-------- .../arm-authorization/src/models/mappers.ts | 3167 ++++++++-------- .../src/models/parameters.ts | 335 +- .../accessReviewDefaultSettingsOperations.ts | 98 + .../accessReviewHistoryDefinitionInstance.ts | 74 + .../accessReviewHistoryDefinitionInstances.ts | 178 + ...accessReviewHistoryDefinitionOperations.ts | 111 + .../accessReviewHistoryDefinitions.ts | 195 + .../accessReviewInstanceContactedReviewers.ts | 190 + .../accessReviewInstanceDecisions.ts | 190 + .../accessReviewInstanceMyDecisions.ts | 279 ++ .../accessReviewInstanceOperations.ts | 221 ++ .../src/operations/accessReviewInstances.ts | 264 ++ ...essReviewInstancesAssignedForMyApproval.ts | 213 ++ .../accessReviewScheduleDefinitions.ts | 307 ++ ...heduleDefinitionsAssignedForMyApproval.ts} | 94 +- .../src/operations/alertConfigurations.ts | 240 ++ ...gnmentSchedules.ts => alertDefinitions.ts} | 97 +- .../src/operations/alertIncidents.ts | 272 ++ .../src/operations/alertOperation.ts | 67 + .../src/operations/alerts.ts | 478 +++ .../src/operations/denyAssignments.ts | 729 ---- .../src/operations/eligibleChildResources.ts | 160 - .../src/operations/globalAdministrator.ts | 57 - .../arm-authorization/src/operations/index.ts | 46 +- ...classicAdministrators.ts => operations.ts} | 63 +- .../src/operations/permissions.ts | 408 -- .../roleAssignmentScheduleInstances.ts | 203 - .../roleAssignmentScheduleRequests.ts | 333 -- .../src/operations/roleAssignments.ts | 921 ----- .../src/operations/roleDefinitions.ts | 322 -- .../roleEligibilityScheduleInstances.ts | 203 - .../roleEligibilityScheduleRequests.ts | 333 -- .../operations/roleEligibilitySchedules.ts | 200 - .../src/operations/roleManagementPolicies.ts | 282 -- .../roleManagementPolicyAssignments.ts | 287 -- .../scopeAccessReviewDefaultSettings.ts | 105 + .../scopeAccessReviewHistoryDefinition.ts | 115 + ...peAccessReviewHistoryDefinitionInstance.ts | 78 + ...eAccessReviewHistoryDefinitionInstances.ts | 193 + .../scopeAccessReviewHistoryDefinitions.ts | 204 + .../operations/scopeAccessReviewInstance.ts | 237 ++ ...eAccessReviewInstanceContactedReviewers.ts | 206 + .../scopeAccessReviewInstanceDecisions.ts | 206 + .../operations/scopeAccessReviewInstances.ts | 284 ++ .../scopeAccessReviewScheduleDefinitions.ts | 322 ++ ...lAccessReviewInstanceContactedReviewers.ts | 190 + .../accessReviewDefaultSettingsOperations.ts | 35 + .../accessReviewHistoryDefinitionInstance.ts | 28 + .../accessReviewHistoryDefinitionInstances.ts | 27 + ...accessReviewHistoryDefinitionOperations.ts | 38 + .../accessReviewHistoryDefinitions.ts | 37 + .../accessReviewInstanceContactedReviewers.ts | 29 + .../accessReviewInstanceDecisions.ts | 29 + .../accessReviewInstanceMyDecisions.ts | 62 + .../accessReviewInstanceOperations.ts | 74 + .../accessReviewInstances.ts | 56 + ...essReviewInstancesAssignedForMyApproval.ts | 40 + .../accessReviewScheduleDefinitions.ts | 70 + ...cheduleDefinitionsAssignedForMyApproval.ts | 25 + .../alertConfigurations.ts | 60 + .../operationsInterfaces/alertDefinitions.ts | 46 + .../operationsInterfaces/alertIncidents.ts | 64 + .../operationsInterfaces/alertOperation.ts | 27 + .../src/operationsInterfaces/alerts.ts | 114 + .../operationsInterfaces/denyAssignments.ts | 91 - .../eligibleChildResources.ts | 27 - .../globalAdministrator.ts | 20 - .../src/operationsInterfaces/index.ts | 46 +- ...classicAdministrators.ts => operations.ts} | 15 +- .../src/operationsInterfaces/permissions.ts | 45 - .../providerOperationsMetadataOperations.ts | 36 - .../roleAssignmentScheduleInstances.ts | 41 - .../roleAssignmentScheduleRequests.ts | 88 - .../roleAssignmentSchedules.ts | 40 - .../operationsInterfaces/roleAssignments.ts | 160 - .../operationsInterfaces/roleDefinitions.ts | 83 - .../roleEligibilityScheduleInstances.ts | 41 - .../roleEligibilityScheduleRequests.ts | 88 - .../roleEligibilitySchedules.ts | 40 - .../roleManagementPolicies.ts | 67 - .../roleManagementPolicyAssignments.ts | 70 - .../scopeAccessReviewDefaultSettings.ts | 39 + .../scopeAccessReviewHistoryDefinition.ts | 42 + ...peAccessReviewHistoryDefinitionInstance.ts | 32 + ...eAccessReviewHistoryDefinitionInstances.ts | 29 + .../scopeAccessReviewHistoryDefinitions.ts | 41 + .../scopeAccessReviewInstance.ts | 87 + ...eAccessReviewInstanceContactedReviewers.ts | 31 + .../scopeAccessReviewInstanceDecisions.ts | 31 + .../scopeAccessReviewInstances.ts | 62 + .../scopeAccessReviewScheduleDefinitions.ts | 80 + ...lAccessReviewInstanceContactedReviewers.ts | 29 + .../arm-authorization/test/sampleTest.ts | 43 + .../arm-authorization/tsconfig.json | 10 +- 103 files changed, 12072 insertions(+), 9931 deletions(-) create mode 100644 sdk/authorization/arm-authorization/src/lroImpl.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts rename sdk/authorization/arm-authorization/src/operations/{providerOperationsMetadataOperations.ts => accessReviewScheduleDefinitionsAssignedForMyApproval.ts} (53%) create mode 100644 sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts rename sdk/authorization/arm-authorization/src/operations/{roleAssignmentSchedules.ts => alertDefinitions.ts} (58%) create mode 100644 sdk/authorization/arm-authorization/src/operations/alertIncidents.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/alertOperation.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/alerts.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/denyAssignments.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts rename sdk/authorization/arm-authorization/src/operations/{classicAdministrators.ts => operations.ts} (64%) delete mode 100644 sdk/authorization/arm-authorization/src/operations/permissions.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleAssignments.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts delete mode 100644 sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinition.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/denyAssignments.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/globalAdministrator.ts rename sdk/authorization/arm-authorization/src/operationsInterfaces/{classicAdministrators.ts => operations.ts} (50%) delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/permissions.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/providerOperationsMetadataOperations.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts delete mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts create mode 100644 sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts create mode 100644 sdk/authorization/arm-authorization/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 6abc5f214696..13f0cfce8c1c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -3840,7 +3840,7 @@ packages: dependencies: semver: 7.5.1 shelljs: 0.8.5 - typescript: 5.2.0-dev.20230529 + typescript: 5.2.0-dev.20230530 dev: false /ecdsa-sig-formatter/1.0.11: @@ -8383,14 +8383,20 @@ packages: hasBin: true dev: false + /typescript/4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: false + /typescript/5.0.4: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true dev: false - /typescript/5.2.0-dev.20230529: - resolution: {integrity: sha512-iug+FguVJuW5ngiaXR/3eruFIMuQiZfKkIoA2zbORdx0EgqVfaUXy8WjUyI7fhfctkRCZeCalNPlunhhL27dvQ==} + /typescript/5.2.0-dev.20230530: + resolution: {integrity: sha512-bIoMajCZWzLB+pWwncaba/hZc6dRnw7x8T/fenOnP9gYQB/gc4xdm48AXp5SH5I/PvvSeZ/dXkUMtc8s8BiDZw==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -9951,7 +9957,7 @@ packages: dev: false file:projects/arm-authorization.tgz: - resolution: {integrity: sha512-fP1+7pydDQMzfs4ieKwQfOw7ysnjA8xGEGx6REZYjba2Hb1kfJR/lofvuL1T9PGMP/i1BBdRNJ5HVb8wZ6IKhg==, tarball: file:projects/arm-authorization.tgz} + resolution: {integrity: sha512-CfbfretJRO8O3sWZTG8r4WANiwN+ELa0W5N5AQ0uXyqolpmWwbj1R23gGIkRBtU5dLf9BBgUEWk2itw/yEszYw==, tarball: file:projects/arm-authorization.tgz} name: '@rush-temp/arm-authorization' version: 0.0.0 dependencies: @@ -9972,7 +9978,7 @@ packages: rollup: 2.79.1 rollup-plugin-sourcemaps: 0.6.3_ehqevut6loiv2j3zjuhqc62mru tslib: 2.5.2 - typescript: 5.0.4 + typescript: 4.8.4 uglify-js: 3.17.4 transitivePeerDependencies: - supports-color diff --git a/sdk/authorization/arm-authorization/CHANGELOG.md b/sdk/authorization/arm-authorization/CHANGELOG.md index 6ff52503a038..e751d8434a6d 100644 --- a/sdk/authorization/arm-authorization/CHANGELOG.md +++ b/sdk/authorization/arm-authorization/CHANGELOG.md @@ -1,15 +1,347 @@ # Release History + +## 10.0.0-beta.1 (2023-05-30) + +**Features** -## 9.0.1 (Unreleased) + - Added operation group AccessReviewDefaultSettingsOperations + - Added operation group AccessReviewHistoryDefinitionInstance + - Added operation group AccessReviewHistoryDefinitionInstances + - Added operation group AccessReviewHistoryDefinitionOperations + - Added operation group AccessReviewHistoryDefinitions + - Added operation group AccessReviewInstanceContactedReviewers + - Added operation group AccessReviewInstanceDecisions + - Added operation group AccessReviewInstanceMyDecisions + - Added operation group AccessReviewInstanceOperations + - Added operation group AccessReviewInstances + - Added operation group AccessReviewInstancesAssignedForMyApproval + - Added operation group AccessReviewScheduleDefinitions + - Added operation group AccessReviewScheduleDefinitionsAssignedForMyApproval + - Added operation group AlertConfigurations + - Added operation group AlertDefinitions + - Added operation group AlertIncidents + - Added operation group AlertOperation + - Added operation group Alerts + - Added operation group Operations + - Added operation group ScopeAccessReviewDefaultSettings + - Added operation group ScopeAccessReviewHistoryDefinition + - Added operation group ScopeAccessReviewHistoryDefinitionInstance + - Added operation group ScopeAccessReviewHistoryDefinitionInstances + - Added operation group ScopeAccessReviewHistoryDefinitions + - Added operation group ScopeAccessReviewInstance + - Added operation group ScopeAccessReviewInstanceContactedReviewers + - Added operation group ScopeAccessReviewInstanceDecisions + - Added operation group ScopeAccessReviewInstances + - Added operation group ScopeAccessReviewScheduleDefinitions + - Added operation group TenantLevelAccessReviewInstanceContactedReviewers + - Added Interface AccessReviewContactedReviewer + - Added Interface AccessReviewContactedReviewerListResult + - Added Interface AccessReviewDecision + - Added Interface AccessReviewDecisionIdentity + - Added Interface AccessReviewDecisionInsight + - Added Interface AccessReviewDecisionInsightProperties + - Added Interface AccessReviewDecisionListResult + - Added Interface AccessReviewDecisionProperties + - Added Interface AccessReviewDecisionServicePrincipalIdentity + - Added Interface AccessReviewDecisionUserIdentity + - Added Interface AccessReviewDecisionUserSignInInsightProperties + - Added Interface AccessReviewDefaultSettings + - Added Interface AccessReviewDefaultSettingsGetOptionalParams + - Added Interface AccessReviewDefaultSettingsPutOptionalParams + - Added Interface AccessReviewHistoryDefinition + - Added Interface AccessReviewHistoryDefinitionCreateOptionalParams + - Added Interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstanceListResult + - Added Interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstancesListOptionalParams + - Added Interface AccessReviewHistoryDefinitionListResult + - Added Interface AccessReviewHistoryDefinitionProperties + - Added Interface AccessReviewHistoryDefinitionsGetByIdOptionalParams + - Added Interface AccessReviewHistoryDefinitionsListNextOptionalParams + - Added Interface AccessReviewHistoryDefinitionsListOptionalParams + - Added Interface AccessReviewHistoryInstance + - Added Interface AccessReviewInstance + - Added Interface AccessReviewInstanceAcceptRecommendationsOptionalParams + - Added Interface AccessReviewInstanceApplyDecisionsOptionalParams + - Added Interface AccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface AccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface AccessReviewInstanceDecisionsListNextOptionalParams + - Added Interface AccessReviewInstanceDecisionsListOptionalParams + - Added Interface AccessReviewInstanceListResult + - Added Interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsListNextOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsListOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsPatchOptionalParams + - Added Interface AccessReviewInstanceProperties + - Added Interface AccessReviewInstanceResetDecisionsOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams + - Added Interface AccessReviewInstancesCreateOptionalParams + - Added Interface AccessReviewInstanceSendRemindersOptionalParams + - Added Interface AccessReviewInstancesGetByIdOptionalParams + - Added Interface AccessReviewInstancesListNextOptionalParams + - Added Interface AccessReviewInstancesListOptionalParams + - Added Interface AccessReviewInstanceStopOptionalParams + - Added Interface AccessReviewReviewer + - Added Interface AccessReviewScheduleDefinition + - Added Interface AccessReviewScheduleDefinitionListResult + - Added Interface AccessReviewScheduleDefinitionProperties + - Added Interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams + - Added Interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + - Added Interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsGetByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsListNextOptionalParams + - Added Interface AccessReviewScheduleDefinitionsListOptionalParams + - Added Interface AccessReviewScheduleDefinitionsStopOptionalParams + - Added Interface AccessReviewScheduleSettings + - Added Interface AccessReviewScope + - Added Interface Alert + - Added Interface AlertConfiguration + - Added Interface AlertConfigurationListResult + - Added Interface AlertConfigurationProperties + - Added Interface AlertConfigurationsGetOptionalParams + - Added Interface AlertConfigurationsListForScopeNextOptionalParams + - Added Interface AlertConfigurationsListForScopeOptionalParams + - Added Interface AlertConfigurationsUpdateOptionalParams + - Added Interface AlertDefinition + - Added Interface AlertDefinitionListResult + - Added Interface AlertDefinitionsGetOptionalParams + - Added Interface AlertDefinitionsListForScopeNextOptionalParams + - Added Interface AlertDefinitionsListForScopeOptionalParams + - Added Interface AlertIncident + - Added Interface AlertIncidentListResult + - Added Interface AlertIncidentProperties + - Added Interface AlertIncidentsGetOptionalParams + - Added Interface AlertIncidentsListForScopeNextOptionalParams + - Added Interface AlertIncidentsListForScopeOptionalParams + - Added Interface AlertIncidentsRemediateOptionalParams + - Added Interface AlertListResult + - Added Interface AlertOperationGetOptionalParams + - Added Interface AlertOperationResult + - Added Interface AlertsGetOptionalParams + - Added Interface AlertsListForScopeNextOptionalParams + - Added Interface AlertsListForScopeOptionalParams + - Added Interface AlertsRefreshAllHeaders + - Added Interface AlertsRefreshAllOptionalParams + - Added Interface AlertsRefreshHeaders + - Added Interface AlertsRefreshOptionalParams + - Added Interface AlertsUpdateOptionalParams + - Added Interface AzureRolesAssignedOutsidePimAlertConfigurationProperties + - Added Interface AzureRolesAssignedOutsidePimAlertIncidentProperties + - Added Interface DuplicateRoleCreatedAlertConfigurationProperties + - Added Interface DuplicateRoleCreatedAlertIncidentProperties + - Added Interface ErrorDefinition + - Added Interface ErrorDefinitionProperties + - Added Interface Operation + - Added Interface OperationDisplay + - Added Interface OperationListResult + - Added Interface OperationsListNextOptionalParams + - Added Interface OperationsListOptionalParams + - Added Interface RecordAllDecisionsProperties + - Added Interface ScopeAccessReviewDefaultSettingsGetOptionalParams + - Added Interface ScopeAccessReviewDefaultSettingsPutOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsListOptionalParams + - Added Interface ScopeAccessReviewInstanceApplyDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams + - Added Interface ScopeAccessReviewInstanceDecisionsListOptionalParams + - Added Interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstanceResetDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstancesCreateOptionalParams + - Added Interface ScopeAccessReviewInstanceSendRemindersOptionalParams + - Added Interface ScopeAccessReviewInstancesGetByIdOptionalParams + - Added Interface ScopeAccessReviewInstancesListNextOptionalParams + - Added Interface ScopeAccessReviewInstancesListOptionalParams + - Added Interface ScopeAccessReviewInstanceStopOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsListOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams + - Added Interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface TooManyOwnersAssignedToResourceAlertConfigurationProperties + - Added Interface TooManyOwnersAssignedToResourceAlertIncidentProperties + - Added Interface TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties + - Added Interface TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties + - Added Type Alias AccessRecommendationType + - Added Type Alias AccessReviewActorIdentityType + - Added Type Alias AccessReviewApplyResult + - Added Type Alias AccessReviewDecisionIdentityUnion + - Added Type Alias AccessReviewDecisionInsightPropertiesUnion + - Added Type Alias AccessReviewDecisionInsightType + - Added Type Alias AccessReviewDecisionPrincipalResourceMembershipType + - Added Type Alias AccessReviewDefaultSettingsGetResponse + - Added Type Alias AccessReviewDefaultSettingsPutResponse + - Added Type Alias AccessReviewHistoryDefinitionCreateResponse + - Added Type Alias AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + - Added Type Alias AccessReviewHistoryDefinitionInstancesListNextResponse + - Added Type Alias AccessReviewHistoryDefinitionInstancesListResponse + - Added Type Alias AccessReviewHistoryDefinitionsGetByIdResponse + - Added Type Alias AccessReviewHistoryDefinitionsListNextResponse + - Added Type Alias AccessReviewHistoryDefinitionsListResponse + - Added Type Alias AccessReviewHistoryDefinitionStatus + - Added Type Alias AccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias AccessReviewInstanceContactedReviewersListResponse + - Added Type Alias AccessReviewInstanceDecisionsListNextResponse + - Added Type Alias AccessReviewInstanceDecisionsListResponse + - Added Type Alias AccessReviewInstanceMyDecisionsGetByIdResponse + - Added Type Alias AccessReviewInstanceMyDecisionsListNextResponse + - Added Type Alias AccessReviewInstanceMyDecisionsListResponse + - Added Type Alias AccessReviewInstanceMyDecisionsPatchResponse + - Added Type Alias AccessReviewInstanceReviewersType + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalGetByIdResponse + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalListNextResponse + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalListResponse + - Added Type Alias AccessReviewInstancesCreateResponse + - Added Type Alias AccessReviewInstancesGetByIdResponse + - Added Type Alias AccessReviewInstancesListNextResponse + - Added Type Alias AccessReviewInstancesListResponse + - Added Type Alias AccessReviewInstanceStatus + - Added Type Alias AccessReviewRecurrencePatternType + - Added Type Alias AccessReviewRecurrenceRangeType + - Added Type Alias AccessReviewResult + - Added Type Alias AccessReviewReviewerType + - Added Type Alias AccessReviewScheduleDefinitionReviewersType + - Added Type Alias AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse + - Added Type Alias AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse + - Added Type Alias AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse + - Added Type Alias AccessReviewScheduleDefinitionsGetByIdResponse + - Added Type Alias AccessReviewScheduleDefinitionsListNextResponse + - Added Type Alias AccessReviewScheduleDefinitionsListResponse + - Added Type Alias AccessReviewScheduleDefinitionStatus + - Added Type Alias AccessReviewScopeAssignmentState + - Added Type Alias AccessReviewScopePrincipalType + - Added Type Alias AlertConfigurationPropertiesUnion + - Added Type Alias AlertConfigurationsGetResponse + - Added Type Alias AlertConfigurationsListForScopeNextResponse + - Added Type Alias AlertConfigurationsListForScopeResponse + - Added Type Alias AlertDefinitionsGetResponse + - Added Type Alias AlertDefinitionsListForScopeNextResponse + - Added Type Alias AlertDefinitionsListForScopeResponse + - Added Type Alias AlertIncidentPropertiesUnion + - Added Type Alias AlertIncidentsGetResponse + - Added Type Alias AlertIncidentsListForScopeNextResponse + - Added Type Alias AlertIncidentsListForScopeResponse + - Added Type Alias AlertOperationGetResponse + - Added Type Alias AlertsGetResponse + - Added Type Alias AlertsListForScopeNextResponse + - Added Type Alias AlertsListForScopeResponse + - Added Type Alias AlertsRefreshAllResponse + - Added Type Alias AlertsRefreshResponse + - Added Type Alias DecisionResourceType + - Added Type Alias DecisionTargetType + - Added Type Alias DefaultDecisionType + - Added Type Alias OperationsListNextResponse + - Added Type Alias OperationsListResponse + - Added Type Alias RecordAllDecisionsResult + - Added Type Alias ScopeAccessReviewDefaultSettingsGetResponse + - Added Type Alias ScopeAccessReviewDefaultSettingsPutResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionCreateResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstancesListNextResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstancesListResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsGetByIdResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsListNextResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsListResponse + - Added Type Alias ScopeAccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias ScopeAccessReviewInstanceContactedReviewersListResponse + - Added Type Alias ScopeAccessReviewInstanceDecisionsListNextResponse + - Added Type Alias ScopeAccessReviewInstanceDecisionsListResponse + - Added Type Alias ScopeAccessReviewInstancesCreateResponse + - Added Type Alias ScopeAccessReviewInstancesGetByIdResponse + - Added Type Alias ScopeAccessReviewInstancesListNextResponse + - Added Type Alias ScopeAccessReviewInstancesListResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsGetByIdResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsListNextResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsListResponse + - Added Type Alias SeverityLevel + - Added Type Alias TenantLevelAccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias TenantLevelAccessReviewInstanceContactedReviewersListResponse + - Added Enum KnownAccessRecommendationType + - Added Enum KnownAccessReviewActorIdentityType + - Added Enum KnownAccessReviewApplyResult + - Added Enum KnownAccessReviewDecisionInsightType + - Added Enum KnownAccessReviewDecisionPrincipalResourceMembershipType + - Added Enum KnownAccessReviewHistoryDefinitionStatus + - Added Enum KnownAccessReviewInstanceReviewersType + - Added Enum KnownAccessReviewInstanceStatus + - Added Enum KnownAccessReviewRecurrencePatternType + - Added Enum KnownAccessReviewRecurrenceRangeType + - Added Enum KnownAccessReviewResult + - Added Enum KnownAccessReviewReviewerType + - Added Enum KnownAccessReviewScheduleDefinitionReviewersType + - Added Enum KnownAccessReviewScheduleDefinitionStatus + - Added Enum KnownAccessReviewScopeAssignmentState + - Added Enum KnownAccessReviewScopePrincipalType + - Added Enum KnownDecisionResourceType + - Added Enum KnownDecisionTargetType + - Added Enum KnownDefaultDecisionType + - Added Enum KnownRecordAllDecisionsResult + - Added Enum KnownSeverityLevel -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes +**Breaking Changes** + - Removed operation group ClassicAdministrators + - Removed operation group DenyAssignments + - Removed operation group EligibleChildResources + - Removed operation group GlobalAdministrator + - Removed operation group Permissions_2 + - Removed operation group ProviderOperationsMetadataOperations + - Removed operation group RoleAssignments + - Removed operation group RoleAssignmentScheduleInstances + - Removed operation group RoleAssignmentScheduleRequests + - Removed operation group RoleAssignmentSchedules + - Removed operation group RoleDefinitions + - Removed operation group RoleEligibilityScheduleInstances + - Removed operation group RoleEligibilityScheduleRequests + - Removed operation group RoleEligibilitySchedules + - Removed operation group RoleManagementPolicies + - Removed operation group RoleManagementPolicyAssignments + - Class AuthorizationManagementClient no longer has parameter classicAdministrators + - Class AuthorizationManagementClient no longer has parameter denyAssignments + - Class AuthorizationManagementClient no longer has parameter eligibleChildResources + - Class AuthorizationManagementClient no longer has parameter globalAdministrator + - Class AuthorizationManagementClient no longer has parameter permissions + - Class AuthorizationManagementClient no longer has parameter providerOperationsMetadataOperations + - Class AuthorizationManagementClient no longer has parameter roleAssignments + - Class AuthorizationManagementClient no longer has parameter roleAssignmentScheduleInstances + - Class AuthorizationManagementClient no longer has parameter roleAssignmentScheduleRequests + - Class AuthorizationManagementClient no longer has parameter roleAssignmentSchedules + - Class AuthorizationManagementClient no longer has parameter roleDefinitions + - Class AuthorizationManagementClient no longer has parameter roleEligibilityScheduleInstances + - Class AuthorizationManagementClient no longer has parameter roleEligibilityScheduleRequests + - Class AuthorizationManagementClient no longer has parameter roleEligibilitySchedules + - Class AuthorizationManagementClient no longer has parameter roleManagementPolicies + - Class AuthorizationManagementClient no longer has parameter roleManagementPolicyAssignments + - Removed Enum KnownApprovalMode + - Removed Enum KnownAssignmentType + - Removed Enum KnownEnablementRules + - Removed Enum KnownMemberType + - Removed Enum KnownNotificationDeliveryMechanism + - Removed Enum KnownNotificationLevel + - Removed Enum KnownPrincipalType + - Removed Enum KnownRecipientType + - Removed Enum KnownRequestType + - Removed Enum KnownRoleManagementPolicyRuleType + - Removed Enum KnownStatus + - Removed Enum KnownType + - Removed Enum KnownUserType + + ## 9.0.0 (2023-04-21) The package of @azure/arm-authorization is using our next generation design principles since version 9.0.0, which contains breaking changes. diff --git a/sdk/authorization/arm-authorization/README.md b/sdk/authorization/arm-authorization/README.md index 77dbb2054d21..b07723a8dee4 100644 --- a/sdk/authorization/arm-authorization/README.md +++ b/sdk/authorization/arm-authorization/README.md @@ -2,11 +2,11 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) for Azure AuthorizationManagement client. -Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users. +Access reviews service provides the workflow for running access reviews on different kind of resources. [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-authorization) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-authorization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-authorization?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/authorization/arm-authorization/_meta.json b/sdk/authorization/arm-authorization/_meta.json index 44f6cd3f2291..a3947aa0a692 100644 --- a/sdk/authorization/arm-authorization/_meta.json +++ b/sdk/authorization/arm-authorization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "3a36681ec533a862d6df270d638326eb007bffb0", + "commit": "3105240643e56a015129560c3e5758c284b2fc23", "readme": "specification/authorization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\authorization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.10 --generate-sample=true", + "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/authorization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.10", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.0", "use": "@autorest/typescript@6.0.0-rc.10" } \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/package.json b/sdk/authorization/arm-authorization/package.json index 566330caa693..8afc4c9598ee 100644 --- a/sdk/authorization/arm-authorization/package.json +++ b/sdk/authorization/arm-authorization/package.json @@ -3,11 +3,13 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for AuthorizationManagementClient.", - "version": "9.0.1", + "version": "10.0.0-beta.1", "engines": { "node": ">=14.0.0" }, "dependencies": { + "@azure/core-lro": "^2.5.0", + "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", @@ -34,7 +36,7 @@ "mkdirp": "^2.1.2", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~5.0.0", + "typescript": "~4.8.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "dotenv": "^16.0.0", @@ -109,13 +111,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-authorization?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization" +} \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/review/arm-authorization.api.md b/sdk/authorization/arm-authorization/review/arm-authorization.api.md index fbaa59453ea8..5f73475b8bc5 100644 --- a/sdk/authorization/arm-authorization/review/arm-authorization.api.md +++ b/sdk/authorization/arm-authorization/review/arm-authorization.api.md @@ -6,1568 +6,1688 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; +import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { SimplePollerLike } from '@azure/core-lro'; // @public -export type ApprovalMode = string; +export type AccessRecommendationType = string; // @public -export interface ApprovalSettings { - approvalMode?: ApprovalMode; - approvalStages?: ApprovalStage[]; - isApprovalRequired?: boolean; - isApprovalRequiredForExtension?: boolean; - isRequestorJustificationRequired?: boolean; -} +export type AccessReviewActorIdentityType = string; // @public -export interface ApprovalStage { - approvalStageTimeOutInDays?: number; - escalationApprovers?: UserSet[]; - escalationTimeInMinutes?: number; - isApproverJustificationRequired?: boolean; - isEscalationEnabled?: boolean; - primaryApprovers?: UserSet[]; -} +export type AccessReviewApplyResult = string; // @public -export type AssignmentType = string; +export interface AccessReviewContactedReviewer { + readonly createdDateTime?: Date; + readonly id?: string; + readonly name?: string; + readonly type?: string; + readonly userDisplayName?: string; + readonly userPrincipalName?: string; +} -// @public (undocumented) -export class AuthorizationManagementClient extends coreClient.ServiceClient { - // (undocumented) - $host: string; - constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); - // (undocumented) - classicAdministrators: ClassicAdministrators; - // (undocumented) - denyAssignments: DenyAssignments; - // (undocumented) - eligibleChildResources: EligibleChildResources; - // (undocumented) - globalAdministrator: GlobalAdministrator; - // (undocumented) - permissions: Permissions_2; - // (undocumented) - providerOperationsMetadataOperations: ProviderOperationsMetadataOperations; - // (undocumented) - roleAssignments: RoleAssignments; - // (undocumented) - roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; - // (undocumented) - roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; - // (undocumented) - roleAssignmentSchedules: RoleAssignmentSchedules; - // (undocumented) - roleDefinitions: RoleDefinitions; - // (undocumented) - roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; - // (undocumented) - roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; - // (undocumented) - roleEligibilitySchedules: RoleEligibilitySchedules; - // (undocumented) - roleManagementPolicies: RoleManagementPolicies; - // (undocumented) - roleManagementPolicyAssignments: RoleManagementPolicyAssignments; - // (undocumented) - subscriptionId: string; +// @public +export interface AccessReviewContactedReviewerListResult { + nextLink?: string; + value?: AccessReviewContactedReviewer[]; } // @public -export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { - $host?: string; - endpoint?: string; +export interface AccessReviewDecision { + readonly appliedDateTime?: Date; + readonly applyResult?: AccessReviewApplyResult; + decision?: AccessReviewResult; + readonly displayNamePropertiesPrincipalDisplayName?: string; + readonly displayNamePropertiesResourceDisplayName?: string; + readonly id?: string; + readonly idPropertiesPrincipalId?: string; + readonly idPropertiesResourceId?: string; + insights?: AccessReviewDecisionInsight[]; + justification?: string; + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; + readonly name?: string; + readonly principalIdPropertiesAppliedByPrincipalId?: string; + readonly principalIdPropertiesReviewedByPrincipalId?: string; + readonly principalNamePropertiesAppliedByPrincipalName?: string; + readonly principalNamePropertiesReviewedByPrincipalName?: string; + readonly principalTypePropertiesAppliedByPrincipalType?: AccessReviewActorIdentityType; + readonly principalTypePropertiesReviewedByPrincipalType?: AccessReviewActorIdentityType; + readonly recommendation?: AccessRecommendationType; + readonly reviewedDateTime?: Date; + readonly type?: string; + typePropertiesPrincipalType?: DecisionTargetType; + typePropertiesResourceType?: DecisionResourceType; + readonly userPrincipalNamePropertiesAppliedByUserPrincipalName?: string; + readonly userPrincipalNamePropertiesReviewedByUserPrincipalName?: string; } // @public -export interface ClassicAdministrator { - emailAddress?: string; - id?: string; - name?: string; - role?: string; - type?: string; +export interface AccessReviewDecisionIdentity { + readonly displayName?: string; + readonly id?: string; + type: "user" | "servicePrincipal"; } +// @public (undocumented) +export type AccessReviewDecisionIdentityUnion = AccessReviewDecisionIdentity | AccessReviewDecisionUserIdentity | AccessReviewDecisionServicePrincipalIdentity; + // @public -export interface ClassicAdministratorListResult { - nextLink?: string; - value?: ClassicAdministrator[]; +export interface AccessReviewDecisionInsight { + readonly id?: string; + readonly insightCreatedDateTime?: any; + readonly name?: string; + readonly type?: string; + typePropertiesType?: AccessReviewDecisionInsightType; } // @public -export interface ClassicAdministrators { - list(options?: ClassicAdministratorsListOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewDecisionInsightProperties { + readonly insightCreatedDateTime?: any; + type: "userSignInInsight"; } +// @public (undocumented) +export type AccessReviewDecisionInsightPropertiesUnion = AccessReviewDecisionInsightProperties | AccessReviewDecisionUserSignInInsightProperties; + +// @public +export type AccessReviewDecisionInsightType = string; + // @public -export interface ClassicAdministratorsListNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewDecisionListResult { + nextLink?: string; + value?: AccessReviewDecision[]; } // @public -export type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult; +export type AccessReviewDecisionPrincipalResourceMembershipType = string; // @public -export interface ClassicAdministratorsListOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewDecisionProperties { + readonly appliedDateTime?: Date; + readonly applyResult?: AccessReviewApplyResult; + decision?: AccessReviewResult; + readonly displayNamePrincipalDisplayName?: string; + readonly displayNameResourceDisplayName?: string; + readonly idPrincipalId?: string; + readonly idResourceId?: string; + insights?: AccessReviewDecisionInsight[]; + justification?: string; + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; + readonly principalIdAppliedByPrincipalId?: string; + readonly principalIdReviewedByPrincipalId?: string; + readonly principalNameAppliedByPrincipalName?: string; + readonly principalNameReviewedByPrincipalName?: string; + readonly principalTypeAppliedByPrincipalType?: AccessReviewActorIdentityType; + readonly principalTypeReviewedByPrincipalType?: AccessReviewActorIdentityType; + readonly recommendation?: AccessRecommendationType; + readonly reviewedDateTime?: Date; + typePrincipalType?: DecisionTargetType; + typeResourceType?: DecisionResourceType; + readonly userPrincipalNameAppliedByUserPrincipalName?: string; + readonly userPrincipalNameReviewedByUserPrincipalName?: string; } // @public -export type ClassicAdministratorsListResponse = ClassicAdministratorListResult; +export interface AccessReviewDecisionServicePrincipalIdentity extends AccessReviewDecisionIdentity { + readonly appId?: string; + type: "servicePrincipal"; +} // @public -export interface CloudError { - error?: CloudErrorBody; +export interface AccessReviewDecisionUserIdentity extends AccessReviewDecisionIdentity { + type: "user"; + readonly userPrincipalName?: string; } // @public -export interface CloudErrorBody { - code?: string; - message?: string; +export interface AccessReviewDecisionUserSignInInsightProperties extends AccessReviewDecisionInsightProperties { + readonly lastSignInDateTime?: any; + type: "userSignInInsight"; } // @public -export interface DenyAssignment { - condition?: string; - conditionVersion?: string; - readonly createdBy?: string; - readonly createdOn?: Date; - denyAssignmentName?: string; - description?: string; - doNotApplyToChildScopes?: boolean; - excludePrincipals?: Principal[]; +export interface AccessReviewDefaultSettings { + autoApplyDecisionsEnabled?: boolean; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + endDate?: Date; readonly id?: string; - isSystemProtected?: boolean; + instanceDurationInDays?: number; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; readonly name?: string; - permissions?: DenyAssignmentPermission[]; - principals?: Principal[]; - scope?: string; + numberOfOccurrences?: number; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + startDate?: Date; readonly type?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; + typePropertiesRecurrencePatternType?: AccessReviewRecurrencePatternType; + typePropertiesRecurrenceRangeType?: AccessReviewRecurrenceRangeType; } // @public -export interface DenyAssignmentFilter { - denyAssignmentName?: string; - gdprExportPrincipalId?: string; - principalId?: string; +export interface AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface DenyAssignmentListResult { - nextLink?: string; - value?: DenyAssignment[]; +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +// @public +export interface AccessReviewDefaultSettingsOperations { + get(options?: AccessReviewDefaultSettingsGetOptionalParams): Promise; + put(properties: AccessReviewScheduleSettings, options?: AccessReviewDefaultSettingsPutOptionalParams): Promise; } // @public -export interface DenyAssignmentPermission { - actions?: string[]; - condition?: string; - conditionVersion?: string; - dataActions?: string[]; - notActions?: string[]; - notDataActions?: string[]; +export interface AccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions { } // @public -export interface DenyAssignments { - get(scope: string, denyAssignmentId: string, options?: DenyAssignmentsGetOptionalParams): Promise; - getById(denyAssignmentId: string, options?: DenyAssignmentsGetByIdOptionalParams): Promise; - list(options?: DenyAssignmentsListOptionalParams): PagedAsyncIterableIterator; - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: DenyAssignmentsListForResourceOptionalParams): PagedAsyncIterableIterator; - listForResourceGroup(resourceGroupName: string, options?: DenyAssignmentsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; - listForScope(scope: string, options?: DenyAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; +export type AccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; + +// @public +export interface AccessReviewHistoryDefinition { + readonly createdDateTime?: Date; + decisions?: AccessReviewResult[]; + displayName?: string; + endDate?: Date; + readonly id?: string; + instances?: AccessReviewHistoryInstance[]; + interval?: number; + readonly name?: string; + numberOfOccurrences?: number; + readonly principalId?: string; + readonly principalName?: string; + readonly principalType?: AccessReviewActorIdentityType; + readonly reviewHistoryPeriodEndDateTime?: Date; + readonly reviewHistoryPeriodStartDateTime?: Date; + scopes?: AccessReviewScope[]; + startDate?: Date; + readonly status?: AccessReviewHistoryDefinitionStatus; + readonly type?: string; + typePropertiesSettingsPatternType?: AccessReviewRecurrencePatternType; + typePropertiesSettingsRangeType?: AccessReviewRecurrenceRangeType; + readonly userPrincipalName?: string; } // @public -export interface DenyAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsGetByIdResponse = DenyAssignment; +export type AccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; // @public -export interface DenyAssignmentsGetOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsGetResponse = DenyAssignment; +export interface AccessReviewHistoryDefinitionInstance { + generateDownloadUri(historyDefinitionId: string, instanceId: string, options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; +} // @public -export interface DenyAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; // @public -export interface DenyAssignmentsListForResourceGroupOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AccessReviewHistoryDefinitionInstanceListResult { + nextLink?: string; + value?: AccessReviewHistoryInstance[]; } // @public -export type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult; +export interface AccessReviewHistoryDefinitionInstances { + list(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; +} // @public -export interface DenyAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; // @public -export interface DenyAssignmentsListForResourceOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; // @public -export interface DenyAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionListResult { + nextLink?: string; + value?: AccessReviewHistoryDefinition[]; } // @public -export type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult; +export interface AccessReviewHistoryDefinitionOperations { + create(historyDefinitionId: string, properties: AccessReviewHistoryDefinitionProperties, options?: AccessReviewHistoryDefinitionCreateOptionalParams): Promise; + deleteById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams): Promise; +} // @public -export interface DenyAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AccessReviewHistoryDefinitionProperties { + readonly createdDateTime?: Date; + decisions?: AccessReviewResult[]; + displayName?: string; + endDate?: Date; + instances?: AccessReviewHistoryInstance[]; + interval?: number; + numberOfOccurrences?: number; + readonly principalId?: string; + readonly principalName?: string; + readonly principalType?: AccessReviewActorIdentityType; + readonly reviewHistoryPeriodEndDateTime?: Date; + readonly reviewHistoryPeriodStartDateTime?: Date; + scopes?: AccessReviewScope[]; + startDate?: Date; + readonly status?: AccessReviewHistoryDefinitionStatus; + typeSettingsPatternType?: AccessReviewRecurrencePatternType; + typeSettingsRangeType?: AccessReviewRecurrenceRangeType; + readonly userPrincipalName?: string; } // @public -export type DenyAssignmentsListForScopeResponse = DenyAssignmentListResult; +export interface AccessReviewHistoryDefinitions { + getById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams): Promise; + list(options?: AccessReviewHistoryDefinitionsListOptionalParams): PagedAsyncIterableIterator; +} // @public -export interface DenyAssignmentsListNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type DenyAssignmentsListNextResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + +// @public +export interface AccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface DenyAssignmentsListOptionalParams extends coreClient.OperationOptions { +export type AccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export interface AccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { filter?: string; } // @public -export type DenyAssignmentsListResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export type AccessReviewHistoryDefinitionStatus = string; // @public -export interface EligibleChildResource { +export interface AccessReviewHistoryInstance { + displayName?: string; + readonly downloadUri?: string; + expiration?: Date; + fulfilledDateTime?: Date; readonly id?: string; readonly name?: string; + reviewHistoryPeriodEndDateTime?: Date; + reviewHistoryPeriodStartDateTime?: Date; + runDateTime?: Date; + readonly status?: AccessReviewHistoryDefinitionStatus; readonly type?: string; } // @public -export interface EligibleChildResources { - list(scope: string, options?: EligibleChildResourcesGetOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewInstance { + backupReviewers?: AccessReviewReviewer[]; + endDateTime?: Date; + readonly id?: string; + readonly name?: string; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewInstanceReviewersType; + startDateTime?: Date; + readonly status?: AccessReviewInstanceStatus; + readonly type?: string; } // @public -export interface EligibleChildResourcesGetNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewInstanceAcceptRecommendationsOptionalParams extends coreClient.OperationOptions { } // @public -export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; +export interface AccessReviewInstanceApplyDecisionsOptionalParams extends coreClient.OperationOptions { +} // @public -export interface EligibleChildResourcesGetOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; } // @public -export type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface EligibleChildResourcesListResult { - nextLink?: string; - value?: EligibleChildResource[]; +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { } // @public -export type EnablementRules = string; +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; // @public -export interface ErrorAdditionalInfo { - readonly info?: Record; - readonly type?: string; +export interface AccessReviewInstanceDecisions { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceDecisionsListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface ErrorDetail { - readonly additionalInfo?: ErrorAdditionalInfo[]; - readonly code?: string; - readonly details?: ErrorDetail[]; - readonly message?: string; - readonly target?: string; +export interface AccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface ErrorResponse { - error?: ErrorDetail; -} +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; -// @public (undocumented) -export interface ExpandedProperties { - principal?: ExpandedPropertiesPrincipal; - roleDefinition?: ExpandedPropertiesRoleDefinition; - scope?: ExpandedPropertiesScope; +// @public +export interface AccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export interface ExpandedPropertiesPrincipal { - displayName?: string; - email?: string; - id?: string; - type?: string; +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceListResult { + nextLink?: string; + value?: AccessReviewInstance[]; } // @public -export interface ExpandedPropertiesRoleDefinition { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewInstanceMyDecisions { + getById(scheduleDefinitionId: string, id: string, decisionId: string, options?: AccessReviewInstanceMyDecisionsGetByIdOptionalParams): Promise; + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceMyDecisionsListOptionalParams): PagedAsyncIterableIterator; + patch(scheduleDefinitionId: string, id: string, decisionId: string, properties: AccessReviewDecisionProperties, options?: AccessReviewInstanceMyDecisionsPatchOptionalParams): Promise; } // @public -export interface ExpandedPropertiesScope { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export function getContinuationToken(page: unknown): string | undefined; +export type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; // @public -export interface GlobalAdministrator { - elevateAccess(options?: GlobalAdministratorElevateAccessOptionalParams): Promise; +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface GlobalAdministratorElevateAccessOptionalParams extends coreClient.OperationOptions { -} +export type AccessReviewInstanceMyDecisionsListNextResponse = AccessReviewDecisionListResult; // @public -export enum KnownApprovalMode { - NoApproval = "NoApproval", - Parallel = "Parallel", - Serial = "Serial", - SingleStage = "SingleStage" +export interface AccessReviewInstanceMyDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export enum KnownAssignmentType { - Activated = "Activated", - Assigned = "Assigned" -} +export type AccessReviewInstanceMyDecisionsListResponse = AccessReviewDecisionListResult; // @public -export enum KnownEnablementRules { - Justification = "Justification", - MultiFactorAuthentication = "MultiFactorAuthentication", - Ticketing = "Ticketing" +export interface AccessReviewInstanceMyDecisionsPatchOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownMemberType { - Direct = "Direct", - Group = "Group", - Inherited = "Inherited" -} +export type AccessReviewInstanceMyDecisionsPatchResponse = AccessReviewDecision; // @public -export enum KnownNotificationDeliveryMechanism { - Email = "Email" +export interface AccessReviewInstanceOperations { + acceptRecommendations(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceAcceptRecommendationsOptionalParams): Promise; + applyDecisions(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceApplyDecisionsOptionalParams): Promise; + resetDecisions(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceResetDecisionsOptionalParams): Promise; + sendReminders(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceSendRemindersOptionalParams): Promise; + stop(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceStopOptionalParams): Promise; } // @public -export enum KnownNotificationLevel { - All = "All", - Critical = "Critical", - None = "None" +export interface AccessReviewInstanceProperties { + backupReviewers?: AccessReviewReviewer[]; + endDateTime?: Date; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewInstanceReviewersType; + startDateTime?: Date; + readonly status?: AccessReviewInstanceStatus; } // @public -export enum KnownPrincipalType { - Device = "Device", - ForeignGroup = "ForeignGroup", - Group = "Group", - ServicePrincipal = "ServicePrincipal", - User = "User" +export interface AccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownRecipientType { - Admin = "Admin", - Approver = "Approver", - Requestor = "Requestor" -} +export type AccessReviewInstanceReviewersType = string; // @public -export enum KnownRequestType { - AdminAssign = "AdminAssign", - AdminExtend = "AdminExtend", - AdminRemove = "AdminRemove", - AdminRenew = "AdminRenew", - AdminUpdate = "AdminUpdate", - SelfActivate = "SelfActivate", - SelfDeactivate = "SelfDeactivate", - SelfExtend = "SelfExtend", - SelfRenew = "SelfRenew" +export interface AccessReviewInstances { + create(scheduleDefinitionId: string, id: string, properties: AccessReviewInstanceProperties, options?: AccessReviewInstancesCreateOptionalParams): Promise; + getById(scheduleDefinitionId: string, id: string, options?: AccessReviewInstancesGetByIdOptionalParams): Promise; + list(scheduleDefinitionId: string, options?: AccessReviewInstancesListOptionalParams): PagedAsyncIterableIterator; } // @public -export enum KnownRoleManagementPolicyRuleType { - RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", - RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", - RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", - RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", - RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +export interface AccessReviewInstancesAssignedForMyApproval { + getById(scheduleDefinitionId: string, id: string, options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams): Promise; + list(scheduleDefinitionId: string, options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams): PagedAsyncIterableIterator; } // @public -export enum KnownStatus { - Accepted = "Accepted", - AdminApproved = "AdminApproved", - AdminDenied = "AdminDenied", - Canceled = "Canceled", - Denied = "Denied", - Failed = "Failed", - FailedAsResourceIsLocked = "FailedAsResourceIsLocked", - Granted = "Granted", - Invalid = "Invalid", - PendingAdminDecision = "PendingAdminDecision", - PendingApproval = "PendingApproval", - PendingApprovalProvisioning = "PendingApprovalProvisioning", - PendingEvaluation = "PendingEvaluation", - PendingExternalProvisioning = "PendingExternalProvisioning", - PendingProvisioning = "PendingProvisioning", - PendingRevocation = "PendingRevocation", - PendingScheduleCreation = "PendingScheduleCreation", - Provisioned = "Provisioned", - ProvisioningStarted = "ProvisioningStarted", - Revoked = "Revoked", - ScheduleCreated = "ScheduleCreated", - TimedOut = "TimedOut" +export interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownType { - AfterDateTime = "AfterDateTime", - AfterDuration = "AfterDuration", - NoExpiration = "NoExpiration" -} +export type AccessReviewInstancesAssignedForMyApprovalGetByIdResponse = AccessReviewInstance; // @public -export enum KnownUserType { - Group = "Group", - User = "User" +export interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type MemberType = string; +export type AccessReviewInstancesAssignedForMyApprovalListNextResponse = AccessReviewInstanceListResult; // @public -export type NotificationDeliveryMechanism = string; +export interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} // @public -export type NotificationLevel = string; +export type AccessReviewInstancesAssignedForMyApprovalListResponse = AccessReviewInstanceListResult; // @public -export interface Permission { - actions?: string[]; - dataActions?: string[]; - notActions?: string[]; - notDataActions?: string[]; +export interface AccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions { } // @public -export interface PermissionGetResult { - nextLink?: string; - value?: Permission[]; -} +export type AccessReviewInstancesCreateResponse = AccessReviewInstance; // @public -interface Permissions_2 { - listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: PermissionsListForResourceOptionalParams): PagedAsyncIterableIterator; - listForResourceGroup(resourceGroupName: string, options?: PermissionsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions { } -export { Permissions_2 as Permissions } // @public -export interface PermissionsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type PermissionsListForResourceGroupNextResponse = PermissionGetResult; +export type AccessReviewInstancesGetByIdResponse = AccessReviewInstance; // @public -export interface PermissionsListForResourceGroupOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewInstancesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type PermissionsListForResourceGroupResponse = PermissionGetResult; +export type AccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; // @public -export interface PermissionsListForResourceNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export type PermissionsListForResourceNextResponse = PermissionGetResult; +export type AccessReviewInstancesListResponse = AccessReviewInstanceListResult; + +// @public +export type AccessReviewInstanceStatus = string; // @public -export interface PermissionsListForResourceOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions { } // @public -export type PermissionsListForResourceResponse = PermissionGetResult; +export type AccessReviewRecurrencePatternType = string; // @public -export interface PolicyAssignmentProperties { - policy?: PolicyAssignmentPropertiesPolicy; - roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; - scope?: PolicyAssignmentPropertiesScope; -} +export type AccessReviewRecurrenceRangeType = string; // @public -export interface PolicyAssignmentPropertiesPolicy { - id?: string; - readonly lastModifiedBy?: Principal; - lastModifiedDateTime?: Date; -} +export type AccessReviewResult = string; // @public -export interface PolicyAssignmentPropertiesRoleDefinition { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewReviewer { + principalId?: string; + readonly principalType?: AccessReviewReviewerType; } // @public -export interface PolicyAssignmentPropertiesScope { - displayName?: string; - id?: string; - type?: string; -} +export type AccessReviewReviewerType = string; // @public -export interface PolicyProperties { - readonly scope?: PolicyPropertiesScope; +export interface AccessReviewScheduleDefinition { + readonly assignmentState?: AccessReviewScopeAssignmentState; + autoApplyDecisionsEnabled?: boolean; + backupReviewers?: AccessReviewReviewer[]; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + descriptionForAdmins?: string; + descriptionForReviewers?: string; + displayName?: string; + endDate?: Date; + excludeResourceId?: string; + excludeRoleDefinitionId?: string; + expandNestedMemberships?: boolean; + readonly id?: string; + inactiveDuration?: string; + includeAccessBelowResource?: boolean; + includeInheritedAccess?: boolean; + instanceDurationInDays?: number; + instances?: AccessReviewInstance[]; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; + readonly name?: string; + numberOfOccurrences?: number; + readonly principalId?: string; + readonly principalName?: string; + readonly principalTypePropertiesCreatedByPrincipalType?: AccessReviewActorIdentityType; + readonly principalTypePropertiesScopePrincipalType?: AccessReviewScopePrincipalType; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + readonly resourceId?: string; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + readonly roleDefinitionId?: string; + startDate?: Date; + readonly status?: AccessReviewScheduleDefinitionStatus; + readonly type?: string; + typePropertiesSettingsRecurrencePatternType?: AccessReviewRecurrencePatternType; + typePropertiesSettingsRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + readonly userPrincipalName?: string; } // @public -export interface PolicyPropertiesScope { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewScheduleDefinitionListResult { + nextLink?: string; + value?: AccessReviewScheduleDefinition[]; } // @public -export interface Principal { +export interface AccessReviewScheduleDefinitionProperties { + readonly assignmentState?: AccessReviewScopeAssignmentState; + autoApplyDecisionsEnabled?: boolean; + backupReviewers?: AccessReviewReviewer[]; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + descriptionForAdmins?: string; + descriptionForReviewers?: string; displayName?: string; - email?: string; - id?: string; - type?: string; + endDate?: Date; + excludeResourceId?: string; + excludeRoleDefinitionId?: string; + expandNestedMemberships?: boolean; + inactiveDuration?: string; + includeAccessBelowResource?: boolean; + includeInheritedAccess?: boolean; + instanceDurationInDays?: number; + instances?: AccessReviewInstance[]; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; + numberOfOccurrences?: number; + readonly principalId?: string; + readonly principalName?: string; + readonly principalTypeCreatedByPrincipalType?: AccessReviewActorIdentityType; + readonly principalTypeScopePrincipalType?: AccessReviewScopePrincipalType; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + readonly resourceId?: string; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + readonly roleDefinitionId?: string; + startDate?: Date; + readonly status?: AccessReviewScheduleDefinitionStatus; + typeSettingsRecurrencePatternType?: AccessReviewRecurrencePatternType; + typeSettingsRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + readonly userPrincipalName?: string; } // @public -export type PrincipalType = string; +export type AccessReviewScheduleDefinitionReviewersType = string; // @public -export interface ProviderOperation { - description?: string; - displayName?: string; - isDataAction?: boolean; - name?: string; - origin?: string; - properties?: Record; +export interface AccessReviewScheduleDefinitions { + createOrUpdateById(scheduleDefinitionId: string, properties: AccessReviewScheduleDefinitionProperties, options?: AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams): Promise; + deleteById(scheduleDefinitionId: string, options?: AccessReviewScheduleDefinitionsDeleteByIdOptionalParams): Promise; + getById(scheduleDefinitionId: string, options?: AccessReviewScheduleDefinitionsGetByIdOptionalParams): Promise; + list(options?: AccessReviewScheduleDefinitionsListOptionalParams): PagedAsyncIterableIterator; + stop(scheduleDefinitionId: string, options?: AccessReviewScheduleDefinitionsStopOptionalParams): Promise; } // @public -export interface ProviderOperationsMetadata { - displayName?: string; - id?: string; - name?: string; - operations?: ProviderOperation[]; - resourceTypes?: ResourceType[]; - type?: string; +export interface AccessReviewScheduleDefinitionsAssignedForMyApproval { + list(options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface ProviderOperationsMetadataGetOptionalParams extends coreClient.OperationOptions { - expand?: string; +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata; +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface ProviderOperationsMetadataListNextOptionalParams extends coreClient.OperationOptions { +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult; +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface ProviderOperationsMetadataListOptionalParams extends coreClient.OperationOptions { - expand?: string; +export interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult; +export type AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; // @public -export interface ProviderOperationsMetadataListResult { - nextLink?: string; - value?: ProviderOperationsMetadata[]; +export interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export interface ProviderOperationsMetadataOperations { - get(resourceProviderNamespace: string, options?: ProviderOperationsMetadataGetOptionalParams): Promise; - list(options?: ProviderOperationsMetadataListOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type RecipientType = string; +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; // @public -export type RequestType = string; +export interface AccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface ResourceType { - displayName?: string; - name?: string; - operations?: ProviderOperation[]; -} +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface RoleAssignment { - condition?: string; - conditionVersion?: string; - readonly createdBy?: string; - readonly createdOn?: Date; - delegatedManagedIdentityResourceId?: string; - description?: string; - readonly id?: string; - readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleDefinitionId?: string; - readonly scope?: string; - readonly type?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; +export interface AccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export interface RoleAssignmentCreateParameters { - condition?: string; - conditionVersion?: string; - readonly createdBy?: string; - readonly createdOn?: Date; - delegatedManagedIdentityResourceId?: string; - description?: string; - principalId: string; - principalType?: PrincipalType; - roleDefinitionId: string; - readonly scope?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; -} +export type AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface RoleAssignmentFilter { - principalId?: string; +export interface AccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentListResult { - readonly nextLink?: string; - value?: RoleAssignment[]; +export type AccessReviewScheduleDefinitionStatus = string; + +// @public +export interface AccessReviewScheduleSettings { + autoApplyDecisionsEnabled?: boolean; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + endDate?: Date; + instanceDurationInDays?: number; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; + numberOfOccurrences?: number; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + startDate?: Date; + typeRecurrencePatternType?: AccessReviewRecurrencePatternType; + typeRecurrenceRangeType?: AccessReviewRecurrenceRangeType; } // @public -export interface RoleAssignments { - create(scope: string, roleAssignmentName: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateOptionalParams): Promise; - createById(roleAssignmentId: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateByIdOptionalParams): Promise; - delete(scope: string, roleAssignmentName: string, options?: RoleAssignmentsDeleteOptionalParams): Promise; - deleteById(roleAssignmentId: string, options?: RoleAssignmentsDeleteByIdOptionalParams): Promise; - get(scope: string, roleAssignmentName: string, options?: RoleAssignmentsGetOptionalParams): Promise; - getById(roleAssignmentId: string, options?: RoleAssignmentsGetByIdOptionalParams): Promise; - listForResource(resourceGroupName: string, resourceProviderNamespace: string, resourceType: string, resourceName: string, options?: RoleAssignmentsListForResourceOptionalParams): PagedAsyncIterableIterator; - listForResourceGroup(resourceGroupName: string, options?: RoleAssignmentsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; - listForScope(scope: string, options?: RoleAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; - listForSubscription(options?: RoleAssignmentsListForSubscriptionOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewScope { + readonly assignmentState?: AccessReviewScopeAssignmentState; + excludeResourceId?: string; + excludeRoleDefinitionId?: string; + expandNestedMemberships?: boolean; + inactiveDuration?: string; + includeAccessBelowResource?: boolean; + includeInheritedAccess?: boolean; + readonly principalType?: AccessReviewScopePrincipalType; + readonly resourceId?: string; + readonly roleDefinitionId?: string; } // @public -export interface RoleAssignmentSchedule { - assignmentType?: AssignmentType; - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; +export type AccessReviewScopeAssignmentState = string; + +// @public +export type AccessReviewScopePrincipalType = string; + +// @public +export interface Alert { + readonly alertConfiguration?: AlertConfiguration; + readonly alertDefinition?: AlertDefinition; + readonly alertIncidents?: AlertIncident[]; readonly id?: string; - linkedRoleEligibilityScheduleId?: string; - memberType?: MemberType; + readonly incidentCount?: number; + isActive?: boolean; + readonly lastModifiedDateTime?: Date; + readonly lastScannedDateTime?: Date; readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleAssignmentScheduleRequestId?: string; - roleDefinitionId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; + readonly scope?: string; readonly type?: string; - updatedOn?: Date; -} - -// @public -export interface RoleAssignmentScheduleFilter { - principalId?: string; - roleDefinitionId?: string; - status?: string; } // @public -export interface RoleAssignmentScheduleInstance { - assignmentType?: AssignmentType; - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; +export interface AlertConfiguration { + alertConfigurationType?: string; + readonly alertDefinition?: AlertDefinition; + readonly alertDefinitionId?: string; readonly id?: string; - linkedRoleEligibilityScheduleId?: string; - linkedRoleEligibilityScheduleInstanceId?: string; - memberType?: MemberType; + isEnabled?: boolean; readonly name?: string; - originRoleAssignmentId?: string; - principalId?: string; - principalType?: PrincipalType; - roleAssignmentScheduleId?: string; - roleDefinitionId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; + readonly scope?: string; readonly type?: string; } // @public -export interface RoleAssignmentScheduleInstanceFilter { - principalId?: string; - roleAssignmentScheduleId?: string; - roleDefinitionId?: string; - status?: string; +export interface AlertConfigurationListResult { + nextLink?: string; + value?: AlertConfiguration[]; } // @public -export interface RoleAssignmentScheduleInstanceListResult { - nextLink?: string; - value?: RoleAssignmentScheduleInstance[]; +export interface AlertConfigurationProperties { + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration" | "DuplicateRoleCreatedAlertConfiguration" | "TooManyOwnersAssignedToResourceAlertConfiguration" | "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + readonly alertDefinition?: AlertDefinition; + readonly alertDefinitionId?: string; + isEnabled?: boolean; + readonly scope?: string; } +// @public (undocumented) +export type AlertConfigurationPropertiesUnion = AlertConfigurationProperties | AzureRolesAssignedOutsidePimAlertConfigurationProperties | DuplicateRoleCreatedAlertConfigurationProperties | TooManyOwnersAssignedToResourceAlertConfigurationProperties | TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; + // @public -export interface RoleAssignmentScheduleInstances { - get(scope: string, roleAssignmentScheduleInstanceName: string, options?: RoleAssignmentScheduleInstancesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +export interface AlertConfigurations { + get(scope: string, alertId: string, options?: AlertConfigurationsGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertConfigurationsListForScopeOptionalParams): PagedAsyncIterableIterator; + update(scope: string, alertId: string, parameters: AlertConfiguration, options?: AlertConfigurationsUpdateOptionalParams): Promise; } // @public -export interface RoleAssignmentScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +export interface AlertConfigurationsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; +export type AlertConfigurationsGetResponse = AlertConfiguration; // @public -export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface AlertConfigurationsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; +export type AlertConfigurationsListForScopeNextResponse = AlertConfigurationListResult; // @public -export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertConfigurationsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; +export type AlertConfigurationsListForScopeResponse = AlertConfigurationListResult; // @public -export interface RoleAssignmentScheduleListResult { - nextLink?: string; - value?: RoleAssignmentSchedule[]; +export interface AlertConfigurationsUpdateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequest { - readonly approvalId?: string; - condition?: string; - conditionVersion?: string; - readonly createdOn?: Date; - readonly expandedProperties?: ExpandedProperties; +export interface AlertDefinition { + readonly description?: string; + readonly displayName?: string; + readonly howToPrevent?: string; readonly id?: string; - justification?: string; - linkedRoleEligibilityScheduleId?: string; + readonly isConfigurable?: boolean; + readonly isRemediatable?: boolean; + readonly mitigationSteps?: string; readonly name?: string; - principalId?: string; - readonly principalType?: PrincipalType; - readonly requestorId?: string; - requestType?: RequestType; - roleDefinitionId?: string; - scheduleInfo?: RoleAssignmentScheduleRequestPropertiesScheduleInfo; readonly scope?: string; - readonly status?: Status; - targetRoleAssignmentScheduleId?: string; - targetRoleAssignmentScheduleInstanceId?: string; - ticketInfo?: RoleAssignmentScheduleRequestPropertiesTicketInfo; + readonly securityImpact?: string; + readonly severityLevel?: SeverityLevel; readonly type?: string; } // @public -export interface RoleAssignmentScheduleRequestFilter { - principalId?: string; - requestorId?: string; - roleDefinitionId?: string; - status?: string; +export interface AlertDefinitionListResult { + nextLink?: string; + value?: AlertDefinition[]; } // @public -export interface RoleAssignmentScheduleRequestListResult { - nextLink?: string; - value?: RoleAssignmentScheduleRequest[]; +export interface AlertDefinitions { + get(scope: string, alertDefinitionId: string, options?: AlertDefinitionsGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertDefinitionsListForScopeOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleAssignmentScheduleRequestPropertiesScheduleInfo { - expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; - startDateTime?: Date; +export interface AlertDefinitionsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { - duration?: string; - endDateTime?: Date; - type?: Type; +export type AlertDefinitionsGetResponse = AlertDefinition; + +// @public +export interface AlertDefinitionsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequestPropertiesTicketInfo { - ticketNumber?: string; - ticketSystem?: string; +export type AlertDefinitionsListForScopeNextResponse = AlertDefinitionListResult; + +// @public +export interface AlertDefinitionsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequests { - cancel(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsCancelOptionalParams): Promise; - create(scope: string, roleAssignmentScheduleRequestName: string, parameters: RoleAssignmentScheduleRequest, options?: RoleAssignmentScheduleRequestsCreateOptionalParams): Promise; - get(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; - validate(scope: string, roleAssignmentScheduleRequestName: string, parameters: RoleAssignmentScheduleRequest, options?: RoleAssignmentScheduleRequestsValidateOptionalParams): Promise; +export type AlertDefinitionsListForScopeResponse = AlertDefinitionListResult; + +// @public +export interface AlertIncident { + alertIncidentType?: string; + readonly id?: string; + readonly name?: string; + readonly type?: string; } // @public -export interface RoleAssignmentScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +export interface AlertIncidentListResult { + nextLink?: string; + value?: AlertIncident[]; } // @public -export interface RoleAssignmentScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +export interface AlertIncidentProperties { + alertIncidentType: "AzureRolesAssignedOutsidePimAlertIncident" | "DuplicateRoleCreatedAlertIncident" | "TooManyOwnersAssignedToResourceAlertIncident" | "TooManyPermanentOwnersAssignedToResourceAlertIncident"; } +// @public (undocumented) +export type AlertIncidentPropertiesUnion = AlertIncidentProperties | AzureRolesAssignedOutsidePimAlertIncidentProperties | DuplicateRoleCreatedAlertIncidentProperties | TooManyOwnersAssignedToResourceAlertIncidentProperties | TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties; + // @public -export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; +export interface AlertIncidents { + get(scope: string, alertId: string, alertIncidentId: string, options?: AlertIncidentsGetOptionalParams): Promise; + listForScope(scope: string, alertId: string, options?: AlertIncidentsListForScopeOptionalParams): PagedAsyncIterableIterator; + remediate(scope: string, alertId: string, alertIncidentId: string, options?: AlertIncidentsRemediateOptionalParams): Promise; +} // @public -export interface RoleAssignmentScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { +export interface AlertIncidentsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; +export type AlertIncidentsGetResponse = AlertIncident; // @public -export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface AlertIncidentsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; +export type AlertIncidentsListForScopeNextResponse = AlertIncidentListResult; // @public -export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertIncidentsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; +export type AlertIncidentsListForScopeResponse = AlertIncidentListResult; // @public -export interface RoleAssignmentScheduleRequestsValidateOptionalParams extends coreClient.OperationOptions { +export interface AlertIncidentsRemediateOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsValidateResponse = RoleAssignmentScheduleRequest; +export interface AlertListResult { + nextLink?: string; + value?: Alert[]; +} // @public -export interface RoleAssignmentSchedules { - get(scope: string, roleAssignmentScheduleName: string, options?: RoleAssignmentSchedulesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleAssignmentSchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; +export interface AlertOperation { + get(scope: string, operationId: string, options?: AlertOperationGetOptionalParams): Promise; } // @public -export interface RoleAssignmentSchedulesGetOptionalParams extends coreClient.OperationOptions { +export interface AlertOperationGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; +export type AlertOperationGetResponse = AlertOperationResult; // @public -export interface RoleAssignmentSchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface AlertOperationResult { + readonly createdDateTime?: Date; + readonly id?: string; + readonly lastActionDateTime?: Date; + readonly resourceLocation?: string; + readonly status?: string; + readonly statusDetail?: string; } // @public -export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; +export interface Alerts { + beginRefresh(scope: string, alertId: string, options?: AlertsRefreshOptionalParams): Promise, AlertsRefreshResponse>>; + beginRefreshAll(scope: string, options?: AlertsRefreshAllOptionalParams): Promise, AlertsRefreshAllResponse>>; + beginRefreshAllAndWait(scope: string, options?: AlertsRefreshAllOptionalParams): Promise; + beginRefreshAndWait(scope: string, alertId: string, options?: AlertsRefreshOptionalParams): Promise; + get(scope: string, alertId: string, options?: AlertsGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertsListForScopeOptionalParams): PagedAsyncIterableIterator; + update(scope: string, alertId: string, parameters: Alert, options?: AlertsUpdateOptionalParams): Promise; +} // @public -export interface RoleAssignmentSchedulesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; +export type AlertsGetResponse = Alert; // @public -export interface RoleAssignmentsCreateByIdOptionalParams extends coreClient.OperationOptions { +export interface AlertsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentsCreateByIdResponse = RoleAssignment; +export type AlertsListForScopeNextResponse = AlertListResult; // @public -export interface RoleAssignmentsCreateOptionalParams extends coreClient.OperationOptions { +export interface AlertsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentsCreateResponse = RoleAssignment; +export type AlertsListForScopeResponse = AlertListResult; // @public -export interface RoleAssignmentsDeleteByIdOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AlertsRefreshAllHeaders { + // (undocumented) + location?: string; } // @public -export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; +export interface AlertsRefreshAllOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface RoleAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { - tenantId?: string; -} +export type AlertsRefreshAllResponse = AlertsRefreshAllHeaders & AlertOperationResult; // @public -export type RoleAssignmentsDeleteResponse = RoleAssignment; +export interface AlertsRefreshHeaders { + // (undocumented) + location?: string; +} // @public -export interface RoleAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AlertsRefreshOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type RoleAssignmentsGetByIdResponse = RoleAssignment; +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; // @public -export interface RoleAssignmentsGetOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AlertsUpdateOptionalParams extends coreClient.OperationOptions { } -// @public -export type RoleAssignmentsGetResponse = RoleAssignment; +// @public (undocumented) +export class AuthorizationManagementClient extends coreClient.ServiceClient { + // (undocumented) + $host: string; + constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); + // (undocumented) + accessReviewDefaultSettingsOperations: AccessReviewDefaultSettingsOperations; + // (undocumented) + accessReviewHistoryDefinitionInstance: AccessReviewHistoryDefinitionInstance; + // (undocumented) + accessReviewHistoryDefinitionInstances: AccessReviewHistoryDefinitionInstances; + // (undocumented) + accessReviewHistoryDefinitionOperations: AccessReviewHistoryDefinitionOperations; + // (undocumented) + accessReviewHistoryDefinitions: AccessReviewHistoryDefinitions; + // (undocumented) + accessReviewInstanceContactedReviewers: AccessReviewInstanceContactedReviewers; + // (undocumented) + accessReviewInstanceDecisions: AccessReviewInstanceDecisions; + // (undocumented) + accessReviewInstanceMyDecisions: AccessReviewInstanceMyDecisions; + // (undocumented) + accessReviewInstanceOperations: AccessReviewInstanceOperations; + // (undocumented) + accessReviewInstances: AccessReviewInstances; + // (undocumented) + accessReviewInstancesAssignedForMyApproval: AccessReviewInstancesAssignedForMyApproval; + // (undocumented) + accessReviewScheduleDefinitions: AccessReviewScheduleDefinitions; + // (undocumented) + accessReviewScheduleDefinitionsAssignedForMyApproval: AccessReviewScheduleDefinitionsAssignedForMyApproval; + // (undocumented) + alertConfigurations: AlertConfigurations; + // (undocumented) + alertDefinitions: AlertDefinitions; + // (undocumented) + alertIncidents: AlertIncidents; + // (undocumented) + alertOperation: AlertOperation; + // (undocumented) + alerts: Alerts; + // (undocumented) + operations: Operations; + // (undocumented) + scopeAccessReviewDefaultSettings: ScopeAccessReviewDefaultSettings; + // (undocumented) + scopeAccessReviewHistoryDefinition: ScopeAccessReviewHistoryDefinition; + // (undocumented) + scopeAccessReviewHistoryDefinitionInstance: ScopeAccessReviewHistoryDefinitionInstance; + // (undocumented) + scopeAccessReviewHistoryDefinitionInstances: ScopeAccessReviewHistoryDefinitionInstances; + // (undocumented) + scopeAccessReviewHistoryDefinitions: ScopeAccessReviewHistoryDefinitions; + // (undocumented) + scopeAccessReviewInstance: ScopeAccessReviewInstance; + // (undocumented) + scopeAccessReviewInstanceContactedReviewers: ScopeAccessReviewInstanceContactedReviewers; + // (undocumented) + scopeAccessReviewInstanceDecisions: ScopeAccessReviewInstanceDecisions; + // (undocumented) + scopeAccessReviewInstances: ScopeAccessReviewInstances; + // (undocumented) + scopeAccessReviewScheduleDefinitions: ScopeAccessReviewScheduleDefinitions; + // (undocumented) + subscriptionId: string; + // (undocumented) + tenantLevelAccessReviewInstanceContactedReviewers: TenantLevelAccessReviewInstanceContactedReviewers; +} // @public -export interface RoleAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { +export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + endpoint?: string; } // @public -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; +export interface AzureRolesAssignedOutsidePimAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration"; +} // @public -export interface RoleAssignmentsListForResourceGroupOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export interface AzureRolesAssignedOutsidePimAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "AzureRolesAssignedOutsidePimAlertIncident"; + readonly assigneeDisplayName?: string; + readonly assigneeId?: string; + readonly assigneeUserPrincipalName?: string; + readonly assignmentActivatedDate?: Date; + readonly requestorDisplayName?: string; + readonly requestorId?: string; + readonly requestorUserPrincipalName?: string; + readonly roleDefinitionId?: string; + readonly roleDisplayName?: string; + readonly roleTemplateId?: string; } // @public -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; +export interface CloudError { + error?: CloudErrorBody; +} // @public -export interface RoleAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { +export interface CloudErrorBody { + code?: string; + message?: string; } // @public -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; +export type DecisionResourceType = string; // @public -export interface RoleAssignmentsListForResourceOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; -} +export type DecisionTargetType = string; // @public -export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; +export type DefaultDecisionType = string; // @public -export interface RoleAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface DuplicateRoleCreatedAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "DuplicateRoleCreatedAlertConfiguration"; } // @public -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; +export interface DuplicateRoleCreatedAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "DuplicateRoleCreatedAlertIncident"; + readonly duplicateRoles?: string; + readonly reason?: string; + readonly roleName?: string; +} // @public -export interface RoleAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; - skipToken?: string; - tenantId?: string; +export interface ErrorDefinition { + error?: ErrorDefinitionProperties; } // @public -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; +export interface ErrorDefinitionProperties { + code?: string; + readonly message?: string; +} // @public -export interface RoleAssignmentsListForSubscriptionNextOptionalParams extends coreClient.OperationOptions { -} +export function getContinuationToken(page: unknown): string | undefined; // @public -export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; +export enum KnownAccessRecommendationType { + Approve = "Approve", + Deny = "Deny", + NoInfoAvailable = "NoInfoAvailable" +} // @public -export interface RoleAssignmentsListForSubscriptionOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export enum KnownAccessReviewActorIdentityType { + ServicePrincipal = "servicePrincipal", + User = "user" } // @public -export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; +export enum KnownAccessReviewApplyResult { + AppliedSuccessfully = "AppliedSuccessfully", + AppliedSuccessfullyButObjectNotFound = "AppliedSuccessfullyButObjectNotFound", + AppliedWithUnknownFailure = "AppliedWithUnknownFailure", + Applying = "Applying", + ApplyNotSupported = "ApplyNotSupported", + New = "New" +} // @public -export interface RoleDefinition { - assignableScopes?: string[]; - readonly createdBy?: string; - readonly createdOn?: Date; - description?: string; - readonly id?: string; - readonly name?: string; - permissions?: Permission[]; - roleName?: string; - roleType?: string; - readonly type?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; +export enum KnownAccessReviewDecisionInsightType { + UserSignInInsight = "userSignInInsight" } // @public -export interface RoleDefinitionFilter { - roleName?: string; - type?: string; +export enum KnownAccessReviewDecisionPrincipalResourceMembershipType { + Direct = "direct", + Indirect = "indirect" } // @public -export interface RoleDefinitionListResult { - nextLink?: string; - value?: RoleDefinition[]; +export enum KnownAccessReviewHistoryDefinitionStatus { + Done = "Done", + Error = "Error", + InProgress = "InProgress", + Requested = "Requested" } // @public -export interface RoleDefinitions { - createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: RoleDefinition, options?: RoleDefinitionsCreateOrUpdateOptionalParams): Promise; - delete(scope: string, roleDefinitionId: string, options?: RoleDefinitionsDeleteOptionalParams): Promise; - get(scope: string, roleDefinitionId: string, options?: RoleDefinitionsGetOptionalParams): Promise; - getById(roleId: string, options?: RoleDefinitionsGetByIdOptionalParams): Promise; - list(scope: string, options?: RoleDefinitionsListOptionalParams): PagedAsyncIterableIterator; +export enum KnownAccessReviewInstanceReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" } // @public -export interface RoleDefinitionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewInstanceStatus { + Applied = "Applied", + Applying = "Applying", + AutoReviewed = "AutoReviewed", + AutoReviewing = "AutoReviewing", + Completed = "Completed", + Completing = "Completing", + Initializing = "Initializing", + InProgress = "InProgress", + NotStarted = "NotStarted", + Scheduled = "Scheduled", + Starting = "Starting" } // @public -export type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition; +export enum KnownAccessReviewRecurrencePatternType { + AbsoluteMonthly = "absoluteMonthly", + Weekly = "weekly" +} // @public -export interface RoleDefinitionsDeleteOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewRecurrenceRangeType { + EndDate = "endDate", + NoEnd = "noEnd", + Numbered = "numbered" } // @public -export type RoleDefinitionsDeleteResponse = RoleDefinition; +export enum KnownAccessReviewResult { + Approve = "Approve", + Deny = "Deny", + DontKnow = "DontKnow", + NotNotified = "NotNotified", + NotReviewed = "NotReviewed" +} // @public -export interface RoleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewReviewerType { + ServicePrincipal = "servicePrincipal", + User = "user" } // @public -export type RoleDefinitionsGetByIdResponse = RoleDefinition; +export enum KnownAccessReviewScheduleDefinitionReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" +} // @public -export interface RoleDefinitionsGetOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewScheduleDefinitionStatus { + Applied = "Applied", + Applying = "Applying", + AutoReviewed = "AutoReviewed", + AutoReviewing = "AutoReviewing", + Completed = "Completed", + Completing = "Completing", + Initializing = "Initializing", + InProgress = "InProgress", + NotStarted = "NotStarted", + Scheduled = "Scheduled", + Starting = "Starting" } // @public -export type RoleDefinitionsGetResponse = RoleDefinition; +export enum KnownAccessReviewScopeAssignmentState { + Active = "active", + Eligible = "eligible" +} // @public -export interface RoleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewScopePrincipalType { + GuestUser = "guestUser", + RedeemedGuestUser = "redeemedGuestUser", + ServicePrincipal = "servicePrincipal", + User = "user", + UserGroup = "user,group" } // @public -export type RoleDefinitionsListNextResponse = RoleDefinitionListResult; +export enum KnownDecisionResourceType { + AzureRole = "azureRole" +} // @public -export interface RoleDefinitionsListOptionalParams extends coreClient.OperationOptions { - filter?: string; +export enum KnownDecisionTargetType { + ServicePrincipal = "servicePrincipal", + User = "user" } // @public -export type RoleDefinitionsListResponse = RoleDefinitionListResult; +export enum KnownDefaultDecisionType { + Approve = "Approve", + Deny = "Deny", + Recommendation = "Recommendation" +} // @public -export interface RoleEligibilitySchedule { - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; - readonly id?: string; - memberType?: MemberType; - readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleDefinitionId?: string; - roleEligibilityScheduleRequestId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; - readonly type?: string; - updatedOn?: Date; +export enum KnownRecordAllDecisionsResult { + Approve = "Approve", + Deny = "Deny" } // @public -export interface RoleEligibilityScheduleFilter { - principalId?: string; - roleDefinitionId?: string; - status?: string; +export enum KnownSeverityLevel { + High = "High", + Low = "Low", + Medium = "Medium" } // @public -export interface RoleEligibilityScheduleInstance { - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; - readonly id?: string; - memberType?: MemberType; - readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleDefinitionId?: string; - roleEligibilityScheduleId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; - readonly type?: string; +export interface Operation { + display?: OperationDisplay; + isDataAction?: boolean; + name?: string; + origin?: string; } // @public -export interface RoleEligibilityScheduleInstanceFilter { - principalId?: string; - roleDefinitionId?: string; - roleEligibilityScheduleId?: string; - status?: string; +export interface OperationDisplay { + readonly description?: string; + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; } // @public -export interface RoleEligibilityScheduleInstanceListResult { +export interface OperationListResult { nextLink?: string; - value?: RoleEligibilityScheduleInstance[]; + value?: Operation[]; } // @public -export interface RoleEligibilityScheduleInstances { - get(scope: string, roleEligibilityScheduleInstanceName: string, options?: RoleEligibilityScheduleInstancesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleEligibilityScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; +export type OperationsListNextResponse = OperationListResult; // @public -export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface OperationsListOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; +export type OperationsListResponse = OperationListResult; // @public -export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface RecordAllDecisionsProperties { + decision?: RecordAllDecisionsResult; + justification?: string; + readonly principalId?: string; + readonly resourceId?: string; } // @public -export type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; +export type RecordAllDecisionsResult = string; // @public -export interface RoleEligibilityScheduleListResult { - nextLink?: string; - value?: RoleEligibilitySchedule[]; +export interface ScopeAccessReviewDefaultSettings { + get(scope: string, options?: ScopeAccessReviewDefaultSettingsGetOptionalParams): Promise; + put(scope: string, properties: AccessReviewScheduleSettings, options?: ScopeAccessReviewDefaultSettingsPutOptionalParams): Promise; } // @public -export interface RoleEligibilityScheduleRequest { - readonly approvalId?: string; - condition?: string; - conditionVersion?: string; - readonly createdOn?: Date; - readonly expandedProperties?: ExpandedProperties; - readonly id?: string; - justification?: string; - readonly name?: string; - principalId?: string; - readonly principalType?: PrincipalType; - readonly requestorId?: string; - requestType?: RequestType; - roleDefinitionId?: string; - scheduleInfo?: RoleEligibilityScheduleRequestPropertiesScheduleInfo; - readonly scope?: string; - readonly status?: Status; - targetRoleEligibilityScheduleId?: string; - targetRoleEligibilityScheduleInstanceId?: string; - ticketInfo?: RoleEligibilityScheduleRequestPropertiesTicketInfo; - readonly type?: string; +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestFilter { - principalId?: string; - requestorId?: string; - roleDefinitionId?: string; - status?: string; -} +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; // @public -export interface RoleEligibilityScheduleRequestListResult { - nextLink?: string; - value?: RoleEligibilityScheduleRequest[]; +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfo { - expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; - startDateTime?: Date; -} +export type ScopeAccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; // @public -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { - duration?: string; - endDateTime?: Date; - type?: Type; +export interface ScopeAccessReviewHistoryDefinition { + create(scope: string, historyDefinitionId: string, properties: AccessReviewHistoryDefinitionProperties, options?: ScopeAccessReviewHistoryDefinitionCreateOptionalParams): Promise; + deleteById(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams): Promise; } // @public -export interface RoleEligibilityScheduleRequestPropertiesTicketInfo { - ticketNumber?: string; - ticketSystem?: string; +export interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequests { - cancel(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsCancelOptionalParams): Promise; - create(scope: string, roleEligibilityScheduleRequestName: string, parameters: RoleEligibilityScheduleRequest, options?: RoleEligibilityScheduleRequestsCreateOptionalParams): Promise; - get(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; - validate(scope: string, roleEligibilityScheduleRequestName: string, parameters: RoleEligibilityScheduleRequest, options?: RoleEligibilityScheduleRequestsValidateOptionalParams): Promise; -} +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; // @public -export interface RoleEligibilityScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionInstance { + generateDownloadUri(scope: string, historyDefinitionId: string, instanceId: string, options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; } // @public -export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; - -// @public -export interface RoleEligibilityScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; +export type ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; // @public -export interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionInstances { + list(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; } // @public -export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; - -// @public -export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; // @public -export interface RoleEligibilityScheduleRequestsValidateOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleRequestsValidateResponse = RoleEligibilityScheduleRequest; +export type ScopeAccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; // @public -export interface RoleEligibilitySchedules { - get(scope: string, roleEligibilityScheduleName: string, options?: RoleEligibilitySchedulesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleEligibilitySchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; +export interface ScopeAccessReviewHistoryDefinitions { + getById(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams): Promise; + list(scope: string, options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleEligibilitySchedulesGetOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; +export type ScopeAccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; // @public -export interface RoleEligibilitySchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; +export type ScopeAccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; // @public -export interface RoleEligibilitySchedulesListForScopeOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { filter?: string; } // @public -export type RoleEligibilitySchedulesListForScopeResponse = RoleEligibilityScheduleListResult; +export type ScopeAccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export interface ScopeAccessReviewInstance { + applyDecisions(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceApplyDecisionsOptionalParams): Promise; + recordAllDecisions(scope: string, scheduleDefinitionId: string, id: string, properties: RecordAllDecisionsProperties, options?: ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams): Promise; + resetDecisions(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceResetDecisionsOptionalParams): Promise; + sendReminders(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceSendRemindersOptionalParams): Promise; + stop(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceStopOptionalParams): Promise; +} // @public -export interface RoleManagementPolicies { - delete(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesDeleteOptionalParams): Promise; - get(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleManagementPoliciesListForScopeOptionalParams): PagedAsyncIterableIterator; - update(scope: string, roleManagementPolicyName: string, parameters: RoleManagementPolicy, options?: RoleManagementPoliciesUpdateOptionalParams): Promise; +export interface ScopeAccessReviewInstanceApplyDecisionsOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPoliciesDeleteOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstanceContactedReviewers { + list(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleManagementPoliciesGetOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPoliciesGetResponse = RoleManagementPolicy; +export type ScopeAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; // @public -export interface RoleManagementPoliciesListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; +export type ScopeAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; // @public -export interface RoleManagementPoliciesListForScopeOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstanceDecisions { + list(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceDecisionsListOptionalParams): PagedAsyncIterableIterator; } // @public -export type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; +export interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface RoleManagementPoliciesUpdateOptionalParams extends coreClient.OperationOptions { +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; + +// @public +export interface ScopeAccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; +export type ScopeAccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; // @public -export interface RoleManagementPolicy { - description?: string; - displayName?: string; - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; - readonly id?: string; - isOrganizationDefault?: boolean; - readonly lastModifiedBy?: Principal; - readonly lastModifiedDateTime?: Date; - readonly name?: string; - readonly policyProperties?: PolicyProperties; - rules?: RoleManagementPolicyRuleUnion[]; - scope?: string; - readonly type?: string; +export interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyApprovalRule extends RoleManagementPolicyRule { - ruleType: "RoleManagementPolicyApprovalRule"; - setting?: ApprovalSettings; +export interface ScopeAccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyAssignment { - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; - readonly id?: string; - readonly name?: string; - readonly policyAssignmentProperties?: PolicyAssignmentProperties; - policyId?: string; - roleDefinitionId?: string; - scope?: string; - readonly type?: string; +export interface ScopeAccessReviewInstances { + create(scope: string, scheduleDefinitionId: string, id: string, properties: AccessReviewInstanceProperties, options?: ScopeAccessReviewInstancesCreateOptionalParams): Promise; + getById(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstancesGetByIdOptionalParams): Promise; + list(scope: string, scheduleDefinitionId: string, options?: ScopeAccessReviewInstancesListOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleManagementPolicyAssignmentListResult { - nextLink?: string; - value?: RoleManagementPolicyAssignment[]; +export interface ScopeAccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyAssignments { - create(scope: string, roleManagementPolicyAssignmentName: string, parameters: RoleManagementPolicyAssignment, options?: RoleManagementPolicyAssignmentsCreateOptionalParams): Promise; - delete(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsDeleteOptionalParams): Promise; - get(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; +export type ScopeAccessReviewInstancesCreateResponse = AccessReviewInstance; + +// @public +export interface ScopeAccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyAssignmentsCreateOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; +export type ScopeAccessReviewInstancesGetByIdResponse = AccessReviewInstance; // @public -export interface RoleManagementPolicyAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstancesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyAssignmentsGetOptionalParams extends coreClient.OperationOptions { +export type ScopeAccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; + +// @public +export interface ScopeAccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; +export type ScopeAccessReviewInstancesListResponse = AccessReviewInstanceListResult; // @public -export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; +export interface ScopeAccessReviewScheduleDefinitions { + createOrUpdateById(scope: string, scheduleDefinitionId: string, properties: AccessReviewScheduleDefinitionProperties, options?: ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams): Promise; + deleteById(scope: string, scheduleDefinitionId: string, options?: ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams): Promise; + getById(scope: string, scheduleDefinitionId: string, options?: ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams): Promise; + list(scope: string, options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams): PagedAsyncIterableIterator; + stop(scope: string, scheduleDefinitionId: string, options?: ScopeAccessReviewScheduleDefinitionsStopOptionalParams): Promise; +} // @public -export interface RoleManagementPolicyAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; +export type ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; // @public -export interface RoleManagementPolicyAuthenticationContextRule extends RoleManagementPolicyRule { - claimValue?: string; - isEnabled?: boolean; - ruleType: "RoleManagementPolicyAuthenticationContextRule"; +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyEnablementRule extends RoleManagementPolicyRule { - enabledRules?: EnablementRules[]; - ruleType: "RoleManagementPolicyEnablementRule"; +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyExpirationRule extends RoleManagementPolicyRule { - isExpirationRequired?: boolean; - maximumDuration?: string; - ruleType: "RoleManagementPolicyExpirationRule"; -} +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; // @public -export interface RoleManagementPolicyListResult { - nextLink?: string; - value?: RoleManagementPolicy[]; +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyNotificationRule extends RoleManagementPolicyRule { - isDefaultRecipientsEnabled?: boolean; - notificationLevel?: NotificationLevel; - notificationRecipients?: string[]; - notificationType?: NotificationDeliveryMechanism; - recipientType?: RecipientType; - ruleType: "RoleManagementPolicyNotificationRule"; +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export interface RoleManagementPolicyRule { - id?: string; - ruleType: "RoleManagementPolicyApprovalRule" | "RoleManagementPolicyAuthenticationContextRule" | "RoleManagementPolicyEnablementRule" | "RoleManagementPolicyExpirationRule" | "RoleManagementPolicyNotificationRule"; - target?: RoleManagementPolicyRuleTarget; +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleManagementPolicyRuleTarget { - caller?: string; - enforcedSettings?: string[]; - inheritableSettings?: string[]; - level?: string; - operations?: string[]; - targetObjects?: string[]; +export type SeverityLevel = string; + +// @public +export interface TenantLevelAccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; } // @public -export type RoleManagementPolicyRuleType = string; +export interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} -// @public (undocumented) -export type RoleManagementPolicyRuleUnion = RoleManagementPolicyRule | RoleManagementPolicyApprovalRule | RoleManagementPolicyAuthenticationContextRule | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; +// @public +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; // @public -export type Status = string; +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { +} // @public -export type Type = string; +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; // @public -export interface UserSet { - description?: string; - id?: string; - isBackup?: boolean; - userType?: UserType; +export interface TooManyOwnersAssignedToResourceAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "TooManyOwnersAssignedToResourceAlertConfiguration"; + thresholdNumberOfOwners?: number; + thresholdPercentageOfOwnersOutOfAllRoleMembers?: number; } // @public -export type UserType = string; +export interface TooManyOwnersAssignedToResourceAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "TooManyOwnersAssignedToResourceAlertIncident"; + readonly assigneeName?: string; + readonly assigneeType?: string; +} // @public -export interface ValidationResponse { - errorInfo?: ValidationResponseErrorInfo; - readonly isValid?: boolean; +export interface TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + thresholdNumberOfPermanentOwners?: number; + thresholdPercentageOfPermanentOwnersOutOfAllOwners?: number; } // @public -export interface ValidationResponseErrorInfo { - readonly code?: string; - readonly message?: string; +export interface TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "TooManyPermanentOwnersAssignedToResourceAlertIncident"; + readonly assigneeName?: string; + readonly assigneeType?: string; } // (No @packageDocumentation comment for this package) diff --git a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts index c83a9cb76b1b..d42664e28b7c 100644 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts +++ b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts @@ -10,40 +10,68 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { - ClassicAdministratorsImpl, - GlobalAdministratorImpl, - DenyAssignmentsImpl, - ProviderOperationsMetadataOperationsImpl, - RoleAssignmentsImpl, - PermissionsImpl, - RoleDefinitionsImpl, - EligibleChildResourcesImpl, - RoleAssignmentSchedulesImpl, - RoleAssignmentScheduleInstancesImpl, - RoleAssignmentScheduleRequestsImpl, - RoleEligibilitySchedulesImpl, - RoleEligibilityScheduleInstancesImpl, - RoleEligibilityScheduleRequestsImpl, - RoleManagementPoliciesImpl, - RoleManagementPolicyAssignmentsImpl + OperationsImpl, + AccessReviewHistoryDefinitionsImpl, + AccessReviewHistoryDefinitionOperationsImpl, + AccessReviewHistoryDefinitionInstanceImpl, + AccessReviewHistoryDefinitionInstancesImpl, + AccessReviewScheduleDefinitionsImpl, + AccessReviewInstancesImpl, + AccessReviewInstanceOperationsImpl, + AccessReviewInstanceDecisionsImpl, + AccessReviewInstanceContactedReviewersImpl, + AccessReviewDefaultSettingsOperationsImpl, + ScopeAccessReviewHistoryDefinitionsImpl, + ScopeAccessReviewHistoryDefinitionImpl, + ScopeAccessReviewHistoryDefinitionInstanceImpl, + ScopeAccessReviewHistoryDefinitionInstancesImpl, + ScopeAccessReviewScheduleDefinitionsImpl, + ScopeAccessReviewInstancesImpl, + ScopeAccessReviewInstanceImpl, + ScopeAccessReviewInstanceDecisionsImpl, + ScopeAccessReviewInstanceContactedReviewersImpl, + ScopeAccessReviewDefaultSettingsImpl, + AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl, + AccessReviewInstancesAssignedForMyApprovalImpl, + AccessReviewInstanceMyDecisionsImpl, + TenantLevelAccessReviewInstanceContactedReviewersImpl, + AlertsImpl, + AlertConfigurationsImpl, + AlertDefinitionsImpl, + AlertIncidentsImpl, + AlertOperationImpl } from "./operations"; import { - ClassicAdministrators, - GlobalAdministrator, - DenyAssignments, - ProviderOperationsMetadataOperations, - RoleAssignments, - Permissions, - RoleDefinitions, - EligibleChildResources, - RoleAssignmentSchedules, - RoleAssignmentScheduleInstances, - RoleAssignmentScheduleRequests, - RoleEligibilitySchedules, - RoleEligibilityScheduleInstances, - RoleEligibilityScheduleRequests, - RoleManagementPolicies, - RoleManagementPolicyAssignments + Operations, + AccessReviewHistoryDefinitions, + AccessReviewHistoryDefinitionOperations, + AccessReviewHistoryDefinitionInstance, + AccessReviewHistoryDefinitionInstances, + AccessReviewScheduleDefinitions, + AccessReviewInstances, + AccessReviewInstanceOperations, + AccessReviewInstanceDecisions, + AccessReviewInstanceContactedReviewers, + AccessReviewDefaultSettingsOperations, + ScopeAccessReviewHistoryDefinitions, + ScopeAccessReviewHistoryDefinition, + ScopeAccessReviewHistoryDefinitionInstance, + ScopeAccessReviewHistoryDefinitionInstances, + ScopeAccessReviewScheduleDefinitions, + ScopeAccessReviewInstances, + ScopeAccessReviewInstance, + ScopeAccessReviewInstanceDecisions, + ScopeAccessReviewInstanceContactedReviewers, + ScopeAccessReviewDefaultSettings, + AccessReviewScheduleDefinitionsAssignedForMyApproval, + AccessReviewInstancesAssignedForMyApproval, + AccessReviewInstanceMyDecisions, + TenantLevelAccessReviewInstanceContactedReviewers, + Alerts, + AlertConfigurations, + AlertDefinitions, + AlertIncidents, + AlertOperation } from "./operationsInterfaces"; import { AuthorizationManagementClientOptionalParams } from "./models"; @@ -78,7 +106,7 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-authorization/9.0.1`; + const packageDetails = `azsdk-js-arm-authorization/10.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -131,50 +159,108 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.classicAdministrators = new ClassicAdministratorsImpl(this); - this.globalAdministrator = new GlobalAdministratorImpl(this); - this.denyAssignments = new DenyAssignmentsImpl(this); - this.providerOperationsMetadataOperations = new ProviderOperationsMetadataOperationsImpl( + this.operations = new OperationsImpl(this); + this.accessReviewHistoryDefinitions = new AccessReviewHistoryDefinitionsImpl( this ); - this.roleAssignments = new RoleAssignmentsImpl(this); - this.permissions = new PermissionsImpl(this); - this.roleDefinitions = new RoleDefinitionsImpl(this); - this.eligibleChildResources = new EligibleChildResourcesImpl(this); - this.roleAssignmentSchedules = new RoleAssignmentSchedulesImpl(this); - this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesImpl( + this.accessReviewHistoryDefinitionOperations = new AccessReviewHistoryDefinitionOperationsImpl( this ); - this.roleAssignmentScheduleRequests = new RoleAssignmentScheduleRequestsImpl( + this.accessReviewHistoryDefinitionInstance = new AccessReviewHistoryDefinitionInstanceImpl( this ); - this.roleEligibilitySchedules = new RoleEligibilitySchedulesImpl(this); - this.roleEligibilityScheduleInstances = new RoleEligibilityScheduleInstancesImpl( + this.accessReviewHistoryDefinitionInstances = new AccessReviewHistoryDefinitionInstancesImpl( this ); - this.roleEligibilityScheduleRequests = new RoleEligibilityScheduleRequestsImpl( + this.accessReviewScheduleDefinitions = new AccessReviewScheduleDefinitionsImpl( this ); - this.roleManagementPolicies = new RoleManagementPoliciesImpl(this); - this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsImpl( + this.accessReviewInstances = new AccessReviewInstancesImpl(this); + this.accessReviewInstanceOperations = new AccessReviewInstanceOperationsImpl( this ); + this.accessReviewInstanceDecisions = new AccessReviewInstanceDecisionsImpl( + this + ); + this.accessReviewInstanceContactedReviewers = new AccessReviewInstanceContactedReviewersImpl( + this + ); + this.accessReviewDefaultSettingsOperations = new AccessReviewDefaultSettingsOperationsImpl( + this + ); + this.scopeAccessReviewHistoryDefinitions = new ScopeAccessReviewHistoryDefinitionsImpl( + this + ); + this.scopeAccessReviewHistoryDefinition = new ScopeAccessReviewHistoryDefinitionImpl( + this + ); + this.scopeAccessReviewHistoryDefinitionInstance = new ScopeAccessReviewHistoryDefinitionInstanceImpl( + this + ); + this.scopeAccessReviewHistoryDefinitionInstances = new ScopeAccessReviewHistoryDefinitionInstancesImpl( + this + ); + this.scopeAccessReviewScheduleDefinitions = new ScopeAccessReviewScheduleDefinitionsImpl( + this + ); + this.scopeAccessReviewInstances = new ScopeAccessReviewInstancesImpl(this); + this.scopeAccessReviewInstance = new ScopeAccessReviewInstanceImpl(this); + this.scopeAccessReviewInstanceDecisions = new ScopeAccessReviewInstanceDecisionsImpl( + this + ); + this.scopeAccessReviewInstanceContactedReviewers = new ScopeAccessReviewInstanceContactedReviewersImpl( + this + ); + this.scopeAccessReviewDefaultSettings = new ScopeAccessReviewDefaultSettingsImpl( + this + ); + this.accessReviewScheduleDefinitionsAssignedForMyApproval = new AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl( + this + ); + this.accessReviewInstancesAssignedForMyApproval = new AccessReviewInstancesAssignedForMyApprovalImpl( + this + ); + this.accessReviewInstanceMyDecisions = new AccessReviewInstanceMyDecisionsImpl( + this + ); + this.tenantLevelAccessReviewInstanceContactedReviewers = new TenantLevelAccessReviewInstanceContactedReviewersImpl( + this + ); + this.alerts = new AlertsImpl(this); + this.alertConfigurations = new AlertConfigurationsImpl(this); + this.alertDefinitions = new AlertDefinitionsImpl(this); + this.alertIncidents = new AlertIncidentsImpl(this); + this.alertOperation = new AlertOperationImpl(this); } - classicAdministrators: ClassicAdministrators; - globalAdministrator: GlobalAdministrator; - denyAssignments: DenyAssignments; - providerOperationsMetadataOperations: ProviderOperationsMetadataOperations; - roleAssignments: RoleAssignments; - permissions: Permissions; - roleDefinitions: RoleDefinitions; - eligibleChildResources: EligibleChildResources; - roleAssignmentSchedules: RoleAssignmentSchedules; - roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; - roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; - roleEligibilitySchedules: RoleEligibilitySchedules; - roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; - roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; - roleManagementPolicies: RoleManagementPolicies; - roleManagementPolicyAssignments: RoleManagementPolicyAssignments; + operations: Operations; + accessReviewHistoryDefinitions: AccessReviewHistoryDefinitions; + accessReviewHistoryDefinitionOperations: AccessReviewHistoryDefinitionOperations; + accessReviewHistoryDefinitionInstance: AccessReviewHistoryDefinitionInstance; + accessReviewHistoryDefinitionInstances: AccessReviewHistoryDefinitionInstances; + accessReviewScheduleDefinitions: AccessReviewScheduleDefinitions; + accessReviewInstances: AccessReviewInstances; + accessReviewInstanceOperations: AccessReviewInstanceOperations; + accessReviewInstanceDecisions: AccessReviewInstanceDecisions; + accessReviewInstanceContactedReviewers: AccessReviewInstanceContactedReviewers; + accessReviewDefaultSettingsOperations: AccessReviewDefaultSettingsOperations; + scopeAccessReviewHistoryDefinitions: ScopeAccessReviewHistoryDefinitions; + scopeAccessReviewHistoryDefinition: ScopeAccessReviewHistoryDefinition; + scopeAccessReviewHistoryDefinitionInstance: ScopeAccessReviewHistoryDefinitionInstance; + scopeAccessReviewHistoryDefinitionInstances: ScopeAccessReviewHistoryDefinitionInstances; + scopeAccessReviewScheduleDefinitions: ScopeAccessReviewScheduleDefinitions; + scopeAccessReviewInstances: ScopeAccessReviewInstances; + scopeAccessReviewInstance: ScopeAccessReviewInstance; + scopeAccessReviewInstanceDecisions: ScopeAccessReviewInstanceDecisions; + scopeAccessReviewInstanceContactedReviewers: ScopeAccessReviewInstanceContactedReviewers; + scopeAccessReviewDefaultSettings: ScopeAccessReviewDefaultSettings; + accessReviewScheduleDefinitionsAssignedForMyApproval: AccessReviewScheduleDefinitionsAssignedForMyApproval; + accessReviewInstancesAssignedForMyApproval: AccessReviewInstancesAssignedForMyApproval; + accessReviewInstanceMyDecisions: AccessReviewInstanceMyDecisions; + tenantLevelAccessReviewInstanceContactedReviewers: TenantLevelAccessReviewInstanceContactedReviewers; + alerts: Alerts; + alertConfigurations: AlertConfigurations; + alertDefinitions: AlertDefinitions; + alertIncidents: AlertIncidents; + alertOperation: AlertOperation; } diff --git a/sdk/authorization/arm-authorization/src/lroImpl.ts b/sdk/authorization/arm-authorization/src/lroImpl.ts new file mode 100644 index 000000000000..dd803cd5e28c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/lroImpl.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AbortSignalLike } from "@azure/abort-controller"; +import { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export function createLroSpec(inputs: { + sendOperationFn: (args: any, spec: any) => Promise>; + args: Record; + spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record; +}): LongRunningOperation { + const { args, spec, sendOperationFn } = inputs; + return { + requestMethod: spec.httpMethod, + requestPath: spec.path!, + sendInitialRequest: () => sendOperationFn(args, spec), + sendPollRequest: ( + path: string, + options?: { abortSignal?: AbortSignalLike } + ) => { + const { requestBody, ...restSpec } = spec; + return sendOperationFn(args, { + ...restSpec, + httpMethod: "GET", + path, + abortSignal: options?.abortSignal + }); + } + }; +} diff --git a/sdk/authorization/arm-authorization/src/models/index.ts b/sdk/authorization/arm-authorization/src/models/index.ts index 2daad339e4a1..43645c29891c 100644 --- a/sdk/authorization/arm-authorization/src/models/index.ts +++ b/sdk/authorization/arm-authorization/src/models/index.ts @@ -8,2299 +8,2630 @@ import * as coreClient from "@azure/core-client"; -export type RoleManagementPolicyRuleUnion = - | RoleManagementPolicyRule - | RoleManagementPolicyApprovalRule - | RoleManagementPolicyAuthenticationContextRule - | RoleManagementPolicyEnablementRule - | RoleManagementPolicyExpirationRule - | RoleManagementPolicyNotificationRule; - -/** ClassicAdministrator list result information. */ -export interface ClassicAdministratorListResult { - /** An array of administrators. */ - value?: ClassicAdministrator[]; - /** The URL to use for getting the next set of results. */ +export type AccessReviewDecisionIdentityUnion = + | AccessReviewDecisionIdentity + | AccessReviewDecisionUserIdentity + | AccessReviewDecisionServicePrincipalIdentity; +export type AccessReviewDecisionInsightPropertiesUnion = + | AccessReviewDecisionInsightProperties + | AccessReviewDecisionUserSignInInsightProperties; +export type AlertIncidentPropertiesUnion = + | AlertIncidentProperties + | AzureRolesAssignedOutsidePimAlertIncidentProperties + | DuplicateRoleCreatedAlertIncidentProperties + | TooManyOwnersAssignedToResourceAlertIncidentProperties + | TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties; +export type AlertConfigurationPropertiesUnion = + | AlertConfigurationProperties + | AzureRolesAssignedOutsidePimAlertConfigurationProperties + | DuplicateRoleCreatedAlertConfigurationProperties + | TooManyOwnersAssignedToResourceAlertConfigurationProperties + | TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; + +/** The result of a request to list Microsoft.Authorization operations. */ +export interface OperationListResult { + /** The collection value. */ + value?: Operation[]; + /** The URI that can be used to request the next set of paged results. */ nextLink?: string; } -/** Classic Administrators */ -export interface ClassicAdministrator { - /** The ID of the administrator. */ - id?: string; - /** The name of the administrator. */ +/** The definition of a Microsoft.Authorization operation. */ +export interface Operation { + /** Name of the operation */ name?: string; - /** The type of the administrator. */ - type?: string; - /** The email address of the administrator. */ - emailAddress?: string; - /** The role of the administrator. */ - role?: string; -} - -/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ -export interface ErrorResponse { - /** The error object. */ - error?: ErrorDetail; + /** Indicates whether the operation is a data action */ + isDataAction?: boolean; + /** Display of the operation */ + display?: OperationDisplay; + /** Origin of the operation */ + origin?: string; } -/** The error detail. */ -export interface ErrorDetail { - /** - * The error code. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly code?: string; +/** The display information for a Microsoft.Authorization operation. */ +export interface OperationDisplay { /** - * The error message. + * The resource provider name: Microsoft.Authorization. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly provider?: string; /** - * The error target. + * The resource on which the operation is performed. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly target?: string; + readonly resource?: string; /** - * The error details. + * The operation that users can perform. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly details?: ErrorDetail[]; + readonly operation?: string; /** - * The error additional info. + * The description for the operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly description?: string; } -/** The resource management error additional info. */ -export interface ErrorAdditionalInfo { - /** - * The additional info type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; +/** Error description and code explaining why an operation failed. */ +export interface ErrorDefinition { + /** Error of the list gateway status. */ + error?: ErrorDefinitionProperties; +} + +/** Error description and code explaining why an operation failed. */ +export interface ErrorDefinitionProperties { /** - * The additional info. + * Description of the error. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly info?: Record; + readonly message?: string; + /** Error code of list gateway. */ + code?: string; } -/** Deny assignment list operation result. */ -export interface DenyAssignmentListResult { - /** Deny assignment list. */ - value?: DenyAssignment[]; +/** List of Access Review History Definitions. */ +export interface AccessReviewHistoryDefinitionListResult { + /** Access Review History Definition list. */ + value?: AccessReviewHistoryDefinition[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Deny Assignment */ -export interface DenyAssignment { +/** Access Review History Definition. */ +export interface AccessReviewHistoryDefinition { /** - * The deny assignment ID. + * The access review history definition id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The deny assignment name. + * The access review history definition unique id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The deny assignment type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The display name of the deny assignment. */ - denyAssignmentName?: string; - /** The description of the deny assignment. */ - description?: string; - /** An array of permissions that are denied by the deny assignment. */ - permissions?: DenyAssignmentPermission[]; - /** The deny assignment scope. */ - scope?: string; - /** Determines if the deny assignment applies to child scopes. Default value is false. */ - doNotApplyToChildScopes?: boolean; - /** Array of principals to which the deny assignment applies. */ - principals?: Principal[]; - /** Array of principals to which the deny assignment does not apply. */ - excludePrincipals?: Principal[]; - /** Specifies whether this deny assignment was created by Azure and cannot be edited or deleted. */ - isSystemProtected?: boolean; - /** The conditions on the deny assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ - condition?: string; - /** Version of the condition. */ - conditionVersion?: string; + /** The display name for the history definition. */ + displayName?: string; /** - * Time it was created + * Date time used when selecting review data, all reviews included in data start on or after this date. For use only with one-time/non-recurring reports. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly reviewHistoryPeriodStartDateTime?: Date; /** - * Time it was updated + * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedOn?: Date; + readonly reviewHistoryPeriodEndDateTime?: Date; + /** Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. */ + decisions?: AccessReviewResult[]; /** - * Id of the user who created the assignment + * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdBy?: string; + readonly status?: AccessReviewHistoryDefinitionStatus; /** - * Id of the user who updated the assignment + * Date time when history definition was created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedBy?: string; -} - -/** Deny assignment permissions. */ -export interface DenyAssignmentPermission { - /** Actions to which the deny assignment does not grant access. */ - actions?: string[]; - /** Actions to exclude from that the deny assignment does not grant access. */ - notActions?: string[]; - /** Data actions to which the deny assignment does not grant access. */ - dataActions?: string[]; - /** Data actions to exclude from that the deny assignment does not grant access. */ - notDataActions?: string[]; - /** The conditions on the Deny assignment permission. This limits the resources it applies to. */ - condition?: string; - /** Version of the condition. */ - conditionVersion?: string; -} - -/** The name of the entity last modified it */ -export interface Principal { - /** The id of the principal made changes */ - id?: string; - /** The name of the principal made changes */ - displayName?: string; - /** Type of principal such as user , group etc */ - type?: string; - /** Email of principal */ - email?: string; -} - -/** Provider Operations metadata */ -export interface ProviderOperationsMetadata { - /** The provider id. */ - id?: string; - /** The provider name. */ - name?: string; - /** The provider type. */ - type?: string; - /** The provider display name. */ - displayName?: string; - /** The provider resource types */ - resourceTypes?: ResourceType[]; - /** The provider operations. */ - operations?: ProviderOperation[]; -} - -/** Resource Type */ -export interface ResourceType { - /** The resource type name. */ - name?: string; - /** The resource type display name. */ - displayName?: string; - /** The resource type operations. */ - operations?: ProviderOperation[]; + readonly createdDateTime?: Date; + /** A collection of scopes used when selecting review history data */ + scopes?: AccessReviewScope[]; + /** Set of access review history instances for this history definition. */ + instances?: AccessReviewHistoryInstance[]; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typePropertiesSettingsRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typePropertiesSettingsPatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; } -/** Operation */ -export interface ProviderOperation { - /** The operation name. */ - name?: string; - /** The operation display name. */ +/** Access Review History Instances. */ +export interface AccessReviewHistoryDefinitionProperties { + /** The display name for the history definition. */ displayName?: string; - /** The operation description. */ - description?: string; - /** The operation origin. */ - origin?: string; - /** The operation properties. */ - properties?: Record; - /** The dataAction flag to specify the operation type. */ - isDataAction?: boolean; -} - -/** Provider operations metadata list */ -export interface ProviderOperationsMetadataListResult { - /** The list of providers. */ - value?: ProviderOperationsMetadata[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; -} - -/** Role assignment list operation result. */ -export interface RoleAssignmentListResult { - /** Role assignment list. */ - value?: RoleAssignment[]; /** - * The skipToken to use for getting the next set of results. + * Date time used when selecting review data, all reviews included in data start on or after this date. For use only with one-time/non-recurring reports. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextLink?: string; -} - -/** Role Assignments */ -export interface RoleAssignment { + readonly reviewHistoryPeriodStartDateTime?: Date; /** - * The role assignment ID. + * Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly reviewHistoryPeriodEndDateTime?: Date; + /** Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request. */ + decisions?: AccessReviewResult[]; /** - * The role assignment name. + * This read-only field specifies the of the requested review history data. This is either requested, in-progress, done or error. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly status?: AccessReviewHistoryDefinitionStatus; /** - * The role assignment type. + * Date time when history definition was created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly createdDateTime?: Date; + /** A collection of scopes used when selecting review history data */ + scopes?: AccessReviewScope[]; + /** Set of access review history instances for this history definition. */ + instances?: AccessReviewHistoryInstance[]; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typeSettingsRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typeSettingsPatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; /** - * The role assignment scope. + * The identity id * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** Description of role assignment */ - description?: string; - /** 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' */ - condition?: string; - /** Version of the condition. Currently the only accepted value is '2.0' */ - conditionVersion?: string; + readonly principalId?: string; /** - * Time it was created + * The identity type : user/servicePrincipal * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly principalType?: AccessReviewActorIdentityType; /** - * Time it was updated + * The identity display name * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedOn?: Date; + readonly principalName?: string; /** - * Id of the user who created the assignment + * The user principal name(if valid) * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdBy?: string; + readonly userPrincipalName?: string; +} + +/** Descriptor for what needs to be reviewed */ +export interface AccessReviewScope { /** - * Id of the user who updated the assignment + * ResourceId in which this review is getting created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedBy?: string; - /** Id of the delegated managed identity resource */ - delegatedManagedIdentityResourceId?: string; + readonly resourceId?: string; + /** + * This is used to indicate the role being reviewed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleDefinitionId?: string; + /** + * The identity type user/servicePrincipal to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalType?: AccessReviewScopePrincipalType; + /** + * The role assignment state eligible/active to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assignmentState?: AccessReviewScopeAssignmentState; + /** Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + inactiveDuration?: string; + /** Flag to indicate whether to expand nested memberships or not. */ + expandNestedMemberships?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeInheritedAccess?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeAccessBelowResource?: boolean; + /** This is used to indicate the resource id(s) to exclude */ + excludeResourceId?: string; + /** This is used to indicate the role definition id(s) to exclude */ + excludeRoleDefinitionId?: string; } -/** Role assignment create parameters. */ -export interface RoleAssignmentCreateParameters { +/** Access Review History Definition Instance. */ +export interface AccessReviewHistoryInstance { /** - * The role assignment scope. + * The access review history definition instance id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly scope?: string; - /** The role definition ID. */ - roleDefinitionId: string; - /** The principal ID. */ - principalId: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** Description of role assignment */ - description?: string; - /** 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' */ - condition?: string; - /** Version of the condition. Currently the only accepted value is '2.0' */ - conditionVersion?: string; + readonly id?: string; /** - * Time it was created + * The access review history definition instance unique id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly name?: string; /** - * Time it was updated + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedOn?: Date; + readonly type?: string; + /** Date time used when selecting review data, all reviews included in data start on or after this date. For use only with one-time/non-recurring reports. */ + reviewHistoryPeriodStartDateTime?: Date; + /** Date time used when selecting review data, all reviews included in data end on or before this date. For use only with one-time/non-recurring reports. */ + reviewHistoryPeriodEndDateTime?: Date; + /** The display name for the parent history definition. */ + displayName?: string; /** - * Id of the user who created the assignment + * Status of the requested review history instance data. This is either requested, in-progress, done or error. The state transitions are as follows - Requested -> InProgress -> Done -> Expired * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdBy?: string; + readonly status?: AccessReviewHistoryDefinitionStatus; + /** Date time when the history data report is scheduled to be generated. */ + runDateTime?: Date; + /** Date time when the history data report is scheduled to be generated. */ + fulfilledDateTime?: Date; /** - * Id of the user who updated the assignment + * Uri which can be used to retrieve review history data. To generate this Uri, generateDownloadUri() must be called for a specific accessReviewHistoryDefinitionInstance. The link expires after a 24 hour period. Callers can see the expiration date time by looking at the 'se' parameter in the generated uri. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedBy?: string; - /** Id of the delegated managed identity resource */ - delegatedManagedIdentityResourceId?: string; + readonly downloadUri?: string; + /** Date time when history data report expires and the associated data is deleted. */ + expiration?: Date; } -/** Permissions information. */ -export interface PermissionGetResult { - /** An array of permissions. */ - value?: Permission[]; +/** List of Access Review History Instances. */ +export interface AccessReviewHistoryDefinitionInstanceListResult { + /** Access Review History Definition's Instance list. */ + value?: AccessReviewHistoryInstance[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Role definition permissions. */ -export interface Permission { - /** Allowed actions. */ - actions?: string[]; - /** Denied actions. */ - notActions?: string[]; - /** Allowed Data actions. */ - dataActions?: string[]; - /** Denied Data actions. */ - notDataActions?: string[]; +/** List of Access Review Schedule Definitions. */ +export interface AccessReviewScheduleDefinitionListResult { + /** Access Review Schedule Definition list. */ + value?: AccessReviewScheduleDefinition[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** Role definition. */ -export interface RoleDefinition { +/** Access Review Schedule Definition. */ +export interface AccessReviewScheduleDefinition { /** - * The role definition ID. + * The access review schedule definition id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role definition name. + * The access review schedule definition unique id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role definition type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role name. */ - roleName?: string; - /** The role definition description. */ - description?: string; - /** The role type. */ - roleType?: string; - /** Role definition permissions. */ - permissions?: Permission[]; - /** Role definition assignable scopes. */ - assignableScopes?: string[]; + /** The display name for the schedule definition. */ + displayName?: string; /** - * Time it was created + * This read-only field specifies the status of an accessReview. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly status?: AccessReviewScheduleDefinitionStatus; + /** The description provided by the access review creator and visible to admins. */ + descriptionForAdmins?: string; + /** The description provided by the access review creator to be shown to reviewers. */ + descriptionForReviewers?: string; + /** This is the collection of reviewers. */ + reviewers?: AccessReviewReviewer[]; + /** This is the collection of backup reviewers. */ + backupReviewers?: AccessReviewReviewer[]; /** - * Time it was updated + * 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. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedOn?: Date; + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + /** This is the collection of instances returned when one does an expand on it. */ + instances?: AccessReviewInstance[]; /** - * Id of the user who created the assignment + * ResourceId in which this review is getting created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdBy?: string; + readonly resourceId?: string; /** - * Id of the user who updated the assignment + * This is used to indicate the role being reviewed * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedBy?: string; -} - -/** Role definition list operation result. */ -export interface RoleDefinitionListResult { - /** Role definition list. */ - value?: RoleDefinition[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; -} - -/** Eligible child resources list operation result. */ -export interface EligibleChildResourcesListResult { - /** Eligible child resource list. */ - value?: EligibleChildResource[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; -} - -/** Eligible child resource */ -export interface EligibleChildResource { + readonly roleDefinitionId?: string; /** - * The resource scope Id. + * The identity type user/servicePrincipal to review * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly principalTypePropertiesScopePrincipalType?: AccessReviewScopePrincipalType; /** - * The resource name. + * The role assignment state eligible/active to review * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly assignmentState?: AccessReviewScopeAssignmentState; + /** Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + inactiveDuration?: string; + /** Flag to indicate whether to expand nested memberships or not. */ + expandNestedMemberships?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeInheritedAccess?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeAccessBelowResource?: boolean; + /** This is used to indicate the resource id(s) to exclude */ + excludeResourceId?: string; + /** This is used to indicate the role definition id(s) to exclude */ + excludeRoleDefinitionId?: string; + /** Flag to indicate whether sending mails to reviewers and the review creator is enabled. */ + mailNotificationsEnabled?: boolean; + /** Flag to indicate whether sending reminder emails to reviewers are enabled. */ + reminderNotificationsEnabled?: boolean; + /** Flag to indicate whether reviewers are required to provide a justification when reviewing access. */ + defaultDecisionEnabled?: boolean; + /** Flag to indicate whether the reviewer is required to pass justification when recording a decision. */ + justificationRequiredOnApproval?: boolean; + /** This specifies the behavior for the autoReview feature when an access review completes. */ + defaultDecision?: DefaultDecisionType; + /** 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. */ + autoApplyDecisionsEnabled?: boolean; + /** Flag to indicate whether showing recommendations to reviewers is enabled. */ + recommendationsEnabled?: boolean; + /** Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + recommendationLookBackDuration?: string; + /** The duration in days for an instance. */ + instanceDurationInDays?: number; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typePropertiesSettingsRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typePropertiesSettingsRecurrencePatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; /** - * The resource type. + * The identity id * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; -} - -/** An error response from the service. */ -export interface CloudError { - /** An error response from the service. */ - error?: CloudErrorBody; + readonly principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypePropertiesCreatedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; } -/** An error response from the service. */ -export interface CloudErrorBody { - /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ - code?: string; - /** A message describing the error, intended to be suitable for display in a user interface. */ - message?: string; +/** Access Review. */ +export interface AccessReviewScheduleDefinitionProperties { + /** The display name for the schedule definition. */ + displayName?: string; + /** + * This read-only field specifies the status of an accessReview. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: AccessReviewScheduleDefinitionStatus; + /** The description provided by the access review creator and visible to admins. */ + descriptionForAdmins?: string; + /** The description provided by the access review creator to be shown to reviewers. */ + descriptionForReviewers?: string; + /** This is the collection of reviewers. */ + reviewers?: AccessReviewReviewer[]; + /** This is the collection of backup reviewers. */ + backupReviewers?: AccessReviewReviewer[]; + /** + * 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + /** This is the collection of instances returned when one does an expand on it. */ + instances?: AccessReviewInstance[]; + /** + * ResourceId in which this review is getting created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; + /** + * This is used to indicate the role being reviewed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleDefinitionId?: string; + /** + * The identity type user/servicePrincipal to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeScopePrincipalType?: AccessReviewScopePrincipalType; + /** + * The role assignment state eligible/active to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assignmentState?: AccessReviewScopeAssignmentState; + /** Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + inactiveDuration?: string; + /** Flag to indicate whether to expand nested memberships or not. */ + expandNestedMemberships?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeInheritedAccess?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeAccessBelowResource?: boolean; + /** This is used to indicate the resource id(s) to exclude */ + excludeResourceId?: string; + /** This is used to indicate the role definition id(s) to exclude */ + excludeRoleDefinitionId?: string; + /** Flag to indicate whether sending mails to reviewers and the review creator is enabled. */ + mailNotificationsEnabled?: boolean; + /** Flag to indicate whether sending reminder emails to reviewers are enabled. */ + reminderNotificationsEnabled?: boolean; + /** Flag to indicate whether reviewers are required to provide a justification when reviewing access. */ + defaultDecisionEnabled?: boolean; + /** Flag to indicate whether the reviewer is required to pass justification when recording a decision. */ + justificationRequiredOnApproval?: boolean; + /** This specifies the behavior for the autoReview feature when an access review completes. */ + defaultDecision?: DefaultDecisionType; + /** 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. */ + autoApplyDecisionsEnabled?: boolean; + /** Flag to indicate whether showing recommendations to reviewers is enabled. */ + recommendationsEnabled?: boolean; + /** Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + recommendationLookBackDuration?: string; + /** The duration in days for an instance. */ + instanceDurationInDays?: number; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typeSettingsRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typeSettingsRecurrencePatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeCreatedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; +} + +/** Settings of an Access Review. */ +export interface AccessReviewScheduleSettings { + /** Flag to indicate whether sending mails to reviewers and the review creator is enabled. */ + mailNotificationsEnabled?: boolean; + /** Flag to indicate whether sending reminder emails to reviewers are enabled. */ + reminderNotificationsEnabled?: boolean; + /** Flag to indicate whether reviewers are required to provide a justification when reviewing access. */ + defaultDecisionEnabled?: boolean; + /** Flag to indicate whether the reviewer is required to pass justification when recording a decision. */ + justificationRequiredOnApproval?: boolean; + /** This specifies the behavior for the autoReview feature when an access review completes. */ + defaultDecision?: DefaultDecisionType; + /** 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. */ + autoApplyDecisionsEnabled?: boolean; + /** Flag to indicate whether showing recommendations to reviewers is enabled. */ + recommendationsEnabled?: boolean; + /** Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + recommendationLookBackDuration?: string; + /** The duration in days for an instance. */ + instanceDurationInDays?: number; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typeRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typeRecurrencePatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; +} + +/** Descriptor for what needs to be reviewed */ +export interface AccessReviewReviewer { + /** The id of the reviewer(user/servicePrincipal) */ + principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalType?: AccessReviewReviewerType; } -/** Role Assignment schedule */ -export interface RoleAssignmentSchedule { +/** Access Review Instance. */ +export interface AccessReviewInstance { /** - * The role assignment schedule Id. + * The access review instance id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role assignment schedule name. + * The access review instance name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role assignment schedule type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role assignment schedule scope. */ - scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** The id of roleAssignmentScheduleRequest used to create this roleAssignmentSchedule */ - roleAssignmentScheduleRequestId?: string; - /** The id of roleEligibilitySchedule used to activated this roleAssignmentSchedule */ - linkedRoleEligibilityScheduleId?: string; - /** Assignment type of the role assignment schedule */ - assignmentType?: AssignmentType; - /** Membership type of the role assignment schedule */ - memberType?: MemberType; - /** The status of the role assignment schedule. */ - status?: Status; - /** Start DateTime when role assignment schedule */ + /** + * This read-only field specifies the status of an access review instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: AccessReviewInstanceStatus; + /** The DateTime when the review instance is scheduled to be start. */ startDateTime?: Date; - /** End DateTime when role assignment schedule */ + /** The DateTime when the review instance is scheduled to end. */ endDateTime?: Date; - /** 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; - /** DateTime when role assignment schedule was created */ - createdOn?: Date; - /** DateTime when role assignment schedule was modified */ - updatedOn?: Date; - /** Additional properties of principal, scope and role definition */ - expandedProperties?: ExpandedProperties; -} - -export interface ExpandedProperties { - /** Details of the resource scope */ - scope?: ExpandedPropertiesScope; - /** Details of role definition */ - roleDefinition?: ExpandedPropertiesRoleDefinition; - /** Details of the principal */ - principal?: ExpandedPropertiesPrincipal; -} - -/** Details of the resource scope */ -export interface ExpandedPropertiesScope { - /** Scope id of the resource */ - id?: string; - /** Display name of the resource */ - displayName?: string; - /** Type of the resource */ - type?: string; -} - -/** Details of role definition */ -export interface ExpandedPropertiesRoleDefinition { - /** Id of the role definition */ - id?: string; - /** Display name of the role definition */ - displayName?: string; - /** Type of the role definition */ - type?: string; + /** This is the collection of reviewers. */ + reviewers?: AccessReviewReviewer[]; + /** This is the collection of backup reviewers. */ + backupReviewers?: AccessReviewReviewer[]; + /** + * 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reviewersType?: AccessReviewInstanceReviewersType; } -/** Details of the principal */ -export interface ExpandedPropertiesPrincipal { - /** Id of the principal */ - id?: string; - /** Display name of the principal */ - displayName?: string; - /** Email id of the principal */ - email?: string; - /** Type of the principal */ - type?: string; +/** Access Review Instance properties. */ +export interface AccessReviewInstanceProperties { + /** + * This read-only field specifies the status of an access review instance. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: AccessReviewInstanceStatus; + /** The DateTime when the review instance is scheduled to be start. */ + startDateTime?: Date; + /** The DateTime when the review instance is scheduled to end. */ + endDateTime?: Date; + /** This is the collection of reviewers. */ + reviewers?: AccessReviewReviewer[]; + /** This is the collection of backup reviewers. */ + backupReviewers?: AccessReviewReviewer[]; + /** + * 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reviewersType?: AccessReviewInstanceReviewersType; } -/** Role assignment schedule list operation result. */ -export interface RoleAssignmentScheduleListResult { - /** Role assignment schedule list. */ - value?: RoleAssignmentSchedule[]; +/** List of Access Review Instances. */ +export interface AccessReviewInstanceListResult { + /** Access Review Instance list. */ + value?: AccessReviewInstance[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Role assignment schedule instance list operation result. */ -export interface RoleAssignmentScheduleInstanceListResult { - /** Role assignment schedule instance list. */ - value?: RoleAssignmentScheduleInstance[]; +/** List of access review decisions. */ +export interface AccessReviewDecisionListResult { + /** Access Review Decision list. */ + value?: AccessReviewDecision[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Information about current or upcoming role assignment schedule instance */ -export interface RoleAssignmentScheduleInstance { +/** Access Review. */ +export interface AccessReviewDecision { /** - * The role assignment schedule instance ID. + * The access review decision id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role assignment schedule instance name. + * The access review decision name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role assignment schedule instance type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role assignment schedule scope. */ - scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** Id of the master role assignment schedule */ - roleAssignmentScheduleId?: string; - /** Role Assignment Id in external system */ - originRoleAssignmentId?: string; - /** The status of the role assignment schedule instance. */ - status?: Status; - /** The startDateTime of the role assignment schedule instance */ - startDateTime?: Date; - /** The endDateTime of the role assignment schedule instance */ - endDateTime?: Date; - /** roleEligibilityScheduleId used to activate */ - linkedRoleEligibilityScheduleId?: string; - /** roleEligibilityScheduleInstanceId linked to this roleAssignmentScheduleInstance */ - linkedRoleEligibilityScheduleInstanceId?: string; - /** Assignment type of the role assignment schedule */ - assignmentType?: AssignmentType; - /** Membership type of the role assignment schedule */ - 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; - /** DateTime when role assignment schedule was created */ - createdOn?: Date; - /** Additional properties of principal, scope and role definition */ - expandedProperties?: ExpandedProperties; -} - -/** Role Assignment schedule request */ -export interface RoleAssignmentScheduleRequest { - /** - * The role assignment schedule request ID. + /** + * The feature- generated recommendation shown to the reviewer. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly recommendation?: AccessRecommendationType; + /** The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of Approve/Deny */ + decision?: AccessReviewResult; + /** Justification provided by approvers for their action */ + justification?: string; /** - * The role assignment schedule request name. + * Date Time when a decision was taken. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly reviewedDateTime?: Date; /** - * The role assignment schedule request type. + * The outcome of applying the decision. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly applyResult?: AccessReviewApplyResult; /** - * The role assignment schedule request scope. + * The date and time when the review decision was applied. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; + readonly appliedDateTime?: Date; + /** This is the collection of insights for this decision item. */ + insights?: AccessReviewDecisionInsight[]; + /** Every decision item in an access review represents a principal's membership to a resource. This property represents details of the membership. Examples of this detail might be whether the principal has direct access or indirect access */ + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; /** - * The principal type of the assigned principal ID. + * The identity id * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly principalType?: PrincipalType; - /** The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc */ - requestType?: RequestType; + readonly principalIdPropertiesAppliedByPrincipalId?: string; /** - * The status of the role assignment schedule request. + * The identity type : user/servicePrincipal * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: Status; + readonly principalTypePropertiesAppliedByPrincipalType?: AccessReviewActorIdentityType; /** - * The approvalId of the role assignment schedule request. + * The identity display name * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly approvalId?: string; - /** The resultant role assignment schedule id or the role assignment schedule id being updated */ - targetRoleAssignmentScheduleId?: string; - /** The role assignment schedule instance id being updated */ - targetRoleAssignmentScheduleInstanceId?: string; - /** Schedule info of the role assignment schedule */ - scheduleInfo?: RoleAssignmentScheduleRequestPropertiesScheduleInfo; - /** The linked role eligibility schedule id - to activate an eligibility. */ - linkedRoleEligibilityScheduleId?: string; - /** Justification for the role assignment */ + readonly principalNamePropertiesAppliedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNamePropertiesAppliedByUserPrincipalName?: string; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdPropertiesReviewedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypePropertiesReviewedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNamePropertiesReviewedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNamePropertiesReviewedByUserPrincipalName?: string; + /** The type of resource */ + typePropertiesResourceType?: DecisionResourceType; + /** + * The id of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesResourceId?: string; + /** + * The display name of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNamePropertiesResourceDisplayName?: string; + /** The type of decision target : User/ServicePrincipal */ + typePropertiesPrincipalType?: DecisionTargetType; + /** + * The id of principal whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesPrincipalId?: string; + /** + * The display name of the user whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNamePropertiesPrincipalDisplayName?: string; +} + +/** Approval Step. */ +export interface AccessReviewDecisionProperties { + /** + * The feature- generated recommendation shown to the reviewer. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recommendation?: AccessRecommendationType; + /** The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of Approve/Deny */ + decision?: AccessReviewResult; + /** Justification provided by approvers for their action */ justification?: string; - /** Ticket Info of the role assignment */ - ticketInfo?: RoleAssignmentScheduleRequestPropertiesTicketInfo; - /** 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; /** - * DateTime when role assignment schedule request was created + * Date Time when a decision was taken. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly reviewedDateTime?: Date; /** - * Id of the user who created this request + * The outcome of applying the decision. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestorId?: string; + readonly applyResult?: AccessReviewApplyResult; + /** + * The date and time when the review decision was applied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly appliedDateTime?: Date; + /** This is the collection of insights for this decision item. */ + insights?: AccessReviewDecisionInsight[]; + /** Every decision item in an access review represents a principal's membership to a resource. This property represents details of the membership. Examples of this detail might be whether the principal has direct access or indirect access */ + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdAppliedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeAppliedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNameAppliedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNameAppliedByUserPrincipalName?: string; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdReviewedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeReviewedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNameReviewedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNameReviewedByUserPrincipalName?: string; + /** The type of resource */ + typeResourceType?: DecisionResourceType; + /** + * The id of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idResourceId?: string; + /** + * The display name of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNameResourceDisplayName?: string; + /** The type of decision target : User/ServicePrincipal */ + typePrincipalType?: DecisionTargetType; /** - * Additional properties of principal, scope and role definition + * The id of principal whose access was reviewed. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expandedProperties?: ExpandedProperties; + readonly idPrincipalId?: string; + /** + * The display name of the user whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNamePrincipalDisplayName?: string; } -/** Schedule info of the role assignment schedule */ -export interface RoleAssignmentScheduleRequestPropertiesScheduleInfo { - /** Start DateTime of the role assignment schedule. */ - startDateTime?: Date; - /** Expiration of the role assignment schedule */ - expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; +/** Target of the decision. */ +export interface AccessReviewDecisionIdentity { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "user" | "servicePrincipal"; + /** + * The id of principal whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The display name of the user whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; } -/** Expiration of the role assignment schedule */ -export interface RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { - /** Type of the role assignment schedule expiration */ - type?: Type; - /** End DateTime of the role assignment schedule. */ - endDateTime?: Date; - /** Duration of the role assignment schedule in TimeSpan. */ - duration?: string; +/** Access Review Decision Insight. */ +export interface AccessReviewDecisionInsight { + /** + * The access review insight id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The access review insight name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** The type of insight */ + typePropertiesType?: AccessReviewDecisionInsightType; + /** + * Date Time when the insight was created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly insightCreatedDateTime?: any; } -/** Ticket Info of the role assignment */ -export interface RoleAssignmentScheduleRequestPropertiesTicketInfo { - /** Ticket number for the role assignment */ - ticketNumber?: string; - /** Ticket system name for the role assignment */ - ticketSystem?: string; +/** Details of the Insight. */ +export interface AccessReviewDecisionInsightProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "userSignInInsight"; + /** + * Date Time when the insight was created. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly insightCreatedDateTime?: any; } -/** Role assignment schedule request list operation result. */ -export interface RoleAssignmentScheduleRequestListResult { - /** Role assignment schedule request list. */ - value?: RoleAssignmentScheduleRequest[]; +/** List of access review contacted reviewers. */ +export interface AccessReviewContactedReviewerListResult { + /** Access Review Contacted Reviewer. */ + value?: AccessReviewContactedReviewer[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Role eligibility schedule */ -export interface RoleEligibilitySchedule { +/** Access Review Contacted Reviewer. */ +export interface AccessReviewContactedReviewer { /** - * The role eligibility schedule Id. + * The access review reviewer id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role eligibility schedule name. + * The access review reviewer id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role eligibility schedule type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role eligibility schedule scope. */ - scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** The id of roleEligibilityScheduleRequest used to create this roleAssignmentSchedule */ - roleEligibilityScheduleRequestId?: string; - /** Membership type of the role eligibility schedule */ - memberType?: MemberType; - /** The status of the role eligibility schedule. */ - status?: Status; - /** Start DateTime when role eligibility schedule */ - startDateTime?: Date; - /** End DateTime when role eligibility schedule */ - endDateTime?: Date; - /** 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; - /** DateTime when role eligibility schedule was created */ - createdOn?: Date; - /** DateTime when role eligibility schedule was modified */ - updatedOn?: Date; - /** Additional properties of principal, scope and role definition */ - expandedProperties?: ExpandedProperties; -} - -/** role eligibility schedule list operation result. */ -export interface RoleEligibilityScheduleListResult { - /** role eligibility schedule list. */ - value?: RoleEligibilitySchedule[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; -} - -/** Role eligibility schedule instance list operation result. */ -export interface RoleEligibilityScheduleInstanceListResult { - /** Role eligibility schedule instance list. */ - value?: RoleEligibilityScheduleInstance[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; + /** + * The display name of the reviewer + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userDisplayName?: string; + /** + * The user principal name of the reviewer + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; + /** + * Date Time when the reviewer was contacted. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDateTime?: Date; } -/** Information about current or upcoming role eligibility schedule instance */ -export interface RoleEligibilityScheduleInstance { +/** Access Review Default Settings. */ +export interface AccessReviewDefaultSettings { /** - * The role eligibility schedule instance ID. + * The access review default settings id. This is only going to be default * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role eligibility schedule instance name. + * The access review default settings name. This is always going to be Access Review Default Settings * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role eligibility schedule instance type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role eligibility schedule scope. */ - scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** Id of the master role eligibility schedule */ - roleEligibilityScheduleId?: string; - /** The status of the role eligibility schedule instance */ - status?: Status; - /** The startDateTime of the role eligibility schedule instance */ - startDateTime?: Date; - /** The endDateTime of the role eligibility schedule instance */ - endDateTime?: Date; - /** Membership type of the role eligibility schedule */ - 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; - /** DateTime when role eligibility schedule was created */ - createdOn?: Date; - /** Additional properties of principal, scope and role definition */ - expandedProperties?: ExpandedProperties; + /** Flag to indicate whether sending mails to reviewers and the review creator is enabled. */ + mailNotificationsEnabled?: boolean; + /** Flag to indicate whether sending reminder emails to reviewers are enabled. */ + reminderNotificationsEnabled?: boolean; + /** Flag to indicate whether reviewers are required to provide a justification when reviewing access. */ + defaultDecisionEnabled?: boolean; + /** Flag to indicate whether the reviewer is required to pass justification when recording a decision. */ + justificationRequiredOnApproval?: boolean; + /** This specifies the behavior for the autoReview feature when an access review completes. */ + defaultDecision?: DefaultDecisionType; + /** 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. */ + autoApplyDecisionsEnabled?: boolean; + /** Flag to indicate whether showing recommendations to reviewers is enabled. */ + recommendationsEnabled?: boolean; + /** Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + recommendationLookBackDuration?: string; + /** The duration in days for an instance. */ + instanceDurationInDays?: number; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typePropertiesRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typePropertiesRecurrencePatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; +} + +/** Record All Decisions payload. */ +export interface RecordAllDecisionsProperties { + /** + * The id of principal which needs to be approved/denied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The id of resource which needs to be approved/denied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; + /** The decision to make. Approvers can take action of Approve/Deny */ + decision?: RecordAllDecisionsResult; + /** Justification provided by approvers for their action */ + justification?: string; } -/** Role Eligibility schedule request */ -export interface RoleEligibilityScheduleRequest { +/** The alert. */ +export interface Alert { /** - * The role eligibility schedule request ID. + * The alert ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role eligibility schedule request name. + * The alert name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role eligibility schedule request type. + * The alert type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** - * The role eligibility schedule request scope. + * The alert scope. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; + /** False by default; true if the alert is active. */ + isActive?: boolean; /** - * The principal type of the assigned principal ID. + * The number of generated incidents of the alert. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly principalType?: PrincipalType; - /** The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc */ - requestType?: RequestType; + readonly incidentCount?: number; /** - * The status of the role eligibility schedule request. + * The date time when the alert configuration was updated or new incidents were generated. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: Status; + readonly lastModifiedDateTime?: Date; /** - * The approvalId of the role eligibility schedule request. + * The date time when the alert was last scanned. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly approvalId?: string; - /** Schedule info of the role eligibility schedule */ - scheduleInfo?: RoleEligibilityScheduleRequestPropertiesScheduleInfo; - /** The resultant role eligibility schedule id or the role eligibility schedule id being updated */ - targetRoleEligibilityScheduleId?: string; - /** The role eligibility schedule instance id being updated */ - targetRoleEligibilityScheduleInstanceId?: string; - /** Justification for the role eligibility */ - justification?: string; - /** Ticket Info of the role eligibility */ - ticketInfo?: RoleEligibilityScheduleRequestPropertiesTicketInfo; - /** 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' */ - condition?: string; - /** Version of the condition. Currently accepted value is '2.0' */ - conditionVersion?: string; + readonly lastScannedDateTime?: Date; /** - * DateTime when role eligibility schedule request was created + * The alert definition. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly alertDefinition?: AlertDefinition; /** - * Id of the user who created this request + * The alert incidents. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestorId?: string; + readonly alertIncidents?: AlertIncident[]; /** - * Additional properties of principal, scope and role definition + * The alert configuration. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expandedProperties?: ExpandedProperties; + readonly alertConfiguration?: AlertConfiguration; } -/** Schedule info of the role eligibility schedule */ -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfo { - /** Start DateTime of the role eligibility schedule. */ - startDateTime?: Date; - /** Expiration of the role eligibility schedule */ - expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; -} - -/** Expiration of the role eligibility schedule */ -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { - /** Type of the role eligibility schedule expiration */ - type?: Type; - /** End DateTime of the role eligibility schedule. */ - endDateTime?: Date; - /** Duration of the role eligibility schedule in TimeSpan. */ - duration?: string; +/** Alert definition */ +export interface AlertDefinition { + /** + * The alert definition ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The alert definition name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The alert definition type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The alert display name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayName?: string; + /** + * The alert scope. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly scope?: string; + /** + * The alert description. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; + /** + * Severity level of the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly severityLevel?: SeverityLevel; + /** + * Security impact of the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly securityImpact?: string; + /** + * The methods to mitigate the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly mitigationSteps?: string; + /** + * The ways to prevent the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly howToPrevent?: string; + /** + * True if the alert can be remediated; false, otherwise. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly isRemediatable?: boolean; + /** + * True if the alert configuration can be configured; false, otherwise. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly isConfigurable?: boolean; } -/** Ticket Info of the role eligibility */ -export interface RoleEligibilityScheduleRequestPropertiesTicketInfo { - /** Ticket number for the role eligibility */ - ticketNumber?: string; - /** Ticket system name for the role eligibility */ - ticketSystem?: string; +/** Alert incident */ +export interface AlertIncident { + /** + * The alert incident ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The alert incident name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The alert incident type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** The alert incident type. */ + alertIncidentType?: string; } -/** Role eligibility schedule request list operation result. */ -export interface RoleEligibilityScheduleRequestListResult { - /** Role eligibility schedule request list. */ - value?: RoleEligibilityScheduleRequest[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; +/** Alert incident properties */ +export interface AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertIncidentType: + | "AzureRolesAssignedOutsidePimAlertIncident" + | "DuplicateRoleCreatedAlertIncident" + | "TooManyOwnersAssignedToResourceAlertIncident" + | "TooManyPermanentOwnersAssignedToResourceAlertIncident"; } -/** Role management policy */ -export interface RoleManagementPolicy { +/** Alert configuration. */ +export interface AlertConfiguration { /** - * The role management policy Id. + * The alert configuration ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role management policy name. + * The alert configuration name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role management policy type. + * The alert configuration type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role management policy scope. */ - scope?: string; - /** The role management policy display name. */ - displayName?: string; - /** The role management policy description. */ - description?: string; - /** The role management policy is default policy. */ - isOrganizationDefault?: boolean; /** - * The name of the entity last modified it + * The alert definition ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModifiedBy?: Principal; + readonly alertDefinitionId?: string; /** - * The last modified date time. + * The alert scope. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModifiedDateTime?: Date; - /** The rule applied to the policy. */ - rules?: RoleManagementPolicyRuleUnion[]; + readonly scope?: string; + /** True if the alert is enabled, false will disable the scanning for the specific alert. */ + isEnabled?: boolean; + /** The alert configuration type. */ + alertConfigurationType?: string; /** - * The readonly computed rule applied to the policy. + * The alert definition. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; + readonly alertDefinition?: AlertDefinition; +} + +/** Alert configuration properties. */ +export interface AlertConfigurationProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertConfigurationType: + | "AzureRolesAssignedOutsidePimAlertConfiguration" + | "DuplicateRoleCreatedAlertConfiguration" + | "TooManyOwnersAssignedToResourceAlertConfiguration" + | "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + /** + * The alert definition ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertDefinitionId?: string; /** - * Additional properties of scope + * The alert scope. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly policyProperties?: PolicyProperties; + readonly scope?: string; + /** True if the alert is enabled, false will disable the scanning for the specific alert. */ + isEnabled?: boolean; + /** + * The alert definition. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertDefinition?: AlertDefinition; } -/** The role management policy rule. */ -export interface RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: - | "RoleManagementPolicyApprovalRule" - | "RoleManagementPolicyAuthenticationContextRule" - | "RoleManagementPolicyEnablementRule" - | "RoleManagementPolicyExpirationRule" - | "RoleManagementPolicyNotificationRule"; - /** The id of the rule. */ - id?: string; - /** The target of the current rule. */ - target?: RoleManagementPolicyRuleTarget; -} - -/** The role management policy rule target. */ -export interface RoleManagementPolicyRuleTarget { - /** The caller of the setting. */ - caller?: string; - /** The type of operation. */ - operations?: string[]; - /** The assignment level to which rule is applied. */ - level?: string; - /** The list of target objects. */ - targetObjects?: string[]; - /** The list of inheritable settings. */ - inheritableSettings?: string[]; - /** The list of enforced settings. */ - enforcedSettings?: string[]; -} - -/** Expanded info of resource scope */ -export interface PolicyProperties { - /** - * Details of the resource scope - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly scope?: PolicyPropertiesScope; -} - -/** Details of the resource scope */ -export interface PolicyPropertiesScope { - /** Scope id of the resource */ - id?: string; - /** Display name of the resource */ - displayName?: string; - /** Type of the resource */ - type?: string; +/** An error response from the service. */ +export interface CloudError { + /** An error response from the service. */ + error?: CloudErrorBody; +} + +/** An error response from the service. */ +export interface CloudErrorBody { + /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ + code?: string; + /** A message describing the error, intended to be suitable for display in a user interface. */ + message?: string; } -/** Role management policy list operation result. */ -export interface RoleManagementPolicyListResult { - /** Role management policy list. */ - value?: RoleManagementPolicy[]; +/** Alert list operation result. */ +export interface AlertListResult { + /** Alert list */ + value?: Alert[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } -/** Role management policy */ -export interface RoleManagementPolicyAssignment { +/** Alert operation result */ +export interface AlertOperationResult { /** - * The role management policy Id. + * The id of the alert operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role management policy name. + * The status of the alert operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly status?: string; /** - * The role management policy type. + * The status detail of the alert operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; - /** The role management policy scope. */ - scope?: string; - /** The role definition of management policy assignment. */ - roleDefinitionId?: string; - /** The policy id role management policy assignment. */ - policyId?: string; + readonly statusDetail?: string; + /** + * The created date of the alert operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDateTime?: Date; /** - * The readonly computed rule applied to the policy. + * The last action date of the alert operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; + readonly lastActionDateTime?: Date; /** - * Additional properties of scope, role definition and policy + * The location of the alert associated with the operation. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly policyAssignmentProperties?: PolicyAssignmentProperties; + readonly resourceLocation?: string; } -/** Expanded info of resource scope, role definition and policy */ -export interface PolicyAssignmentProperties { - /** Details of the resource scope */ - scope?: PolicyAssignmentPropertiesScope; - /** Details of role definition */ - roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; - /** Details of the policy */ - policy?: PolicyAssignmentPropertiesPolicy; +/** Alert configuration list operation result. */ +export interface AlertConfigurationListResult { + /** Alert configuration list */ + value?: AlertConfiguration[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** Details of the resource scope */ -export interface PolicyAssignmentPropertiesScope { - /** Scope id of the resource */ - id?: string; - /** Display name of the resource */ - displayName?: string; - /** Type of the resource */ - type?: string; +/** Alert definition list operation result. */ +export interface AlertDefinitionListResult { + /** Alert definition list */ + value?: AlertDefinition[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** Details of role definition */ -export interface PolicyAssignmentPropertiesRoleDefinition { - /** Id of the role definition */ - id?: string; - /** Display name of the role definition */ - displayName?: string; - /** Type of the role definition */ - type?: string; +/** Alert incident list operation result. */ +export interface AlertIncidentListResult { + /** Alert incident list */ + value?: AlertIncident[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** Details of the policy */ -export interface PolicyAssignmentPropertiesPolicy { - /** Id of the policy */ - id?: string; +/** User Decision Target */ +export interface AccessReviewDecisionUserIdentity + extends AccessReviewDecisionIdentity { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "user"; /** - * The name of the entity last modified it + * The user principal name of the user whose access was reviewed. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModifiedBy?: Principal; - /** The last modified date time. */ - lastModifiedDateTime?: Date; + readonly userPrincipalName?: string; } -/** Role management policy assignment list operation result. */ -export interface RoleManagementPolicyAssignmentListResult { - /** Role management policy assignment list. */ - value?: RoleManagementPolicyAssignment[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; +/** Service Principal Decision Target */ +export interface AccessReviewDecisionServicePrincipalIdentity + extends AccessReviewDecisionIdentity { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "servicePrincipal"; + /** + * The appId for the service principal entity being reviewed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly appId?: string; } -/** Deny Assignments filter */ -export interface DenyAssignmentFilter { - /** Return deny assignment with specified name. */ - denyAssignmentName?: string; - /** Return all deny assignments where the specified principal is listed in the principals list of deny assignments. */ - principalId?: string; - /** Return all deny assignments where the specified principal is listed either in the principals list or exclude principals list of deny assignments. */ - gdprExportPrincipalId?: string; +/** User Decision Target */ +export interface AccessReviewDecisionUserSignInInsightProperties + extends AccessReviewDecisionInsightProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "userSignInInsight"; + /** + * Date Time when the user signed into the tenant. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastSignInDateTime?: any; } -/** Failed validation result details */ -export interface ValidationResponseErrorInfo { +/** Azure roles assigned outside PIM alert incident properties. */ +export interface AzureRolesAssignedOutsidePimAlertIncidentProperties + extends AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertIncidentType: "AzureRolesAssignedOutsidePimAlertIncident"; /** - * Error code indicating why validation failed + * The assignee display name. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly assigneeDisplayName?: string; /** - * Message indicating why validation failed + * The assignee user principal name. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly assigneeUserPrincipalName?: string; + /** + * The assignee ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeId?: string; + /** + * The role display name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleDisplayName?: string; + /** + * The role template ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleTemplateId?: string; + /** + * The role definition ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleDefinitionId?: string; + /** + * The date the assignment was activated. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assignmentActivatedDate?: Date; + /** + * The requestor ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requestorId?: string; + /** + * The requestor display name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requestorDisplayName?: string; + /** + * The requestor user principal name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requestorUserPrincipalName?: string; } -/** Validation response */ -export interface ValidationResponse { +/** Duplicate role created alert incident properties. */ +export interface DuplicateRoleCreatedAlertIncidentProperties + extends AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertIncidentType: "DuplicateRoleCreatedAlertIncident"; + /** + * The role name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleName?: string; /** - * Whether or not validation succeeded + * The duplicate roles. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isValid?: boolean; - /** Failed validation result details */ - errorInfo?: ValidationResponseErrorInfo; + readonly duplicateRoles?: string; + /** + * The reason for the incident. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reason?: string; } -/** Role Assignments filter */ -export interface RoleAssignmentFilter { - /** Returns role assignment of the specific principal. */ - principalId?: string; +/** Too many owners assigned to resource alert incident properties. */ +export interface TooManyOwnersAssignedToResourceAlertIncidentProperties + extends AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertIncidentType: "TooManyOwnersAssignedToResourceAlertIncident"; + /** + * The assignee name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeName?: string; + /** + * The assignee type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeType?: string; } -/** Role Definitions filter */ -export interface RoleDefinitionFilter { - /** Returns role definition with the specific name. */ - roleName?: string; - /** Returns role definition with the specific type. */ - type?: string; -} - -/** The approval settings. */ -export interface ApprovalSettings { - /** Determines whether approval is required or not. */ - isApprovalRequired?: boolean; - /** Determines whether approval is required for assignment extension. */ - isApprovalRequiredForExtension?: boolean; - /** Determine whether requestor justification is required. */ - isRequestorJustificationRequired?: boolean; - /** The type of rule */ - approvalMode?: ApprovalMode; - /** The approval stages of the request. */ - approvalStages?: ApprovalStage[]; -} - -/** The approval stage. */ -export interface ApprovalStage { - /** The time in days when approval request would be timed out */ - approvalStageTimeOutInDays?: number; - /** Determines whether approver need to provide justification for his decision. */ - isApproverJustificationRequired?: boolean; - /** The time in minutes when the approval request would be escalated if the primary approver does not approve */ - escalationTimeInMinutes?: number; - /** The primary approver of the request. */ - primaryApprovers?: UserSet[]; - /** The value determine whether escalation feature is enabled. */ - isEscalationEnabled?: boolean; - /** The escalation approver of the request. */ - escalationApprovers?: UserSet[]; -} - -/** The detail of a user. */ -export interface UserSet { - /** The type of user. */ - userType?: UserType; - /** The value indicating whether the user is a backup fallback approver */ - isBackup?: boolean; - /** The object id of the user. */ - id?: string; - /** The description of the user. */ - description?: string; -} - -/** Role assignment schedule filter */ -export interface RoleAssignmentScheduleFilter { - /** Returns role assignment schedule of the specific principal. */ - principalId?: string; - /** Returns role assignment schedule of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role assignment schedule instances of the specific status. */ - status?: string; +/** Too many permanent owners assigned to resource alert incident properties. */ +export interface TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties + extends AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertIncidentType: "TooManyPermanentOwnersAssignedToResourceAlertIncident"; + /** + * The assignee name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeName?: string; + /** + * The assignee type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeType?: string; +} + +/** The Azure roles assigned outside PIM alert configuration properties. */ +export interface AzureRolesAssignedOutsidePimAlertConfigurationProperties + extends AlertConfigurationProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration"; +} + +/** The duplicate role created alert configuration. */ +export interface DuplicateRoleCreatedAlertConfigurationProperties + extends AlertConfigurationProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertConfigurationType: "DuplicateRoleCreatedAlertConfiguration"; +} + +/** Too many owners assigned to resource alert configuration properties. */ +export interface TooManyOwnersAssignedToResourceAlertConfigurationProperties + extends AlertConfigurationProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertConfigurationType: "TooManyOwnersAssignedToResourceAlertConfiguration"; + /** The threshold number of owners. */ + thresholdNumberOfOwners?: number; + /** The threshold percentage of owners out of all role members. */ + thresholdPercentageOfOwnersOutOfAllRoleMembers?: number; +} + +/** Too many permanent owners assigned to resource alert configuration properties. */ +export interface TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties + extends AlertConfigurationProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + alertConfigurationType: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + /** The threshold number of permanent owners. */ + thresholdNumberOfPermanentOwners?: number; + /** The threshold percentage of permanent owners out of all owners. */ + thresholdPercentageOfPermanentOwnersOutOfAllOwners?: number; +} + +/** Defines headers for Alerts_refresh operation. */ +export interface AlertsRefreshHeaders { + location?: string; +} + +/** Defines headers for Alerts_refreshAll operation. */ +export interface AlertsRefreshAllHeaders { + location?: string; } -/** Role assignment schedule instance filter */ -export interface RoleAssignmentScheduleInstanceFilter { - /** Returns role assignment schedule instances of the specific principal. */ - principalId?: string; - /** Returns role assignment schedule instances of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role assignment schedule instances of the specific status. */ - status?: string; - /** Returns role assignment schedule instances belonging to a specific role assignment schedule. */ - roleAssignmentScheduleId?: string; +/** Known values of {@link AccessReviewResult} that the service accepts. */ +export enum KnownAccessReviewResult { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny", + /** NotReviewed */ + NotReviewed = "NotReviewed", + /** DontKnow */ + DontKnow = "DontKnow", + /** NotNotified */ + NotNotified = "NotNotified" +} + +/** + * Defines values for AccessReviewResult. \ + * {@link KnownAccessReviewResult} can be used interchangeably with AccessReviewResult, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Approve** \ + * **Deny** \ + * **NotReviewed** \ + * **DontKnow** \ + * **NotNotified** + */ +export type AccessReviewResult = string; + +/** Known values of {@link AccessReviewHistoryDefinitionStatus} that the service accepts. */ +export enum KnownAccessReviewHistoryDefinitionStatus { + /** Requested */ + Requested = "Requested", + /** InProgress */ + InProgress = "InProgress", + /** Done */ + Done = "Done", + /** Error */ + Error = "Error" +} + +/** + * Defines values for AccessReviewHistoryDefinitionStatus. \ + * {@link KnownAccessReviewHistoryDefinitionStatus} can be used interchangeably with AccessReviewHistoryDefinitionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Requested** \ + * **InProgress** \ + * **Done** \ + * **Error** + */ +export type AccessReviewHistoryDefinitionStatus = string; + +/** Known values of {@link AccessReviewActorIdentityType} that the service accepts. */ +export enum KnownAccessReviewActorIdentityType { + /** User */ + User = "user", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal" +} + +/** + * Defines values for AccessReviewActorIdentityType. \ + * {@link KnownAccessReviewActorIdentityType} can be used interchangeably with AccessReviewActorIdentityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **user** \ + * **servicePrincipal** + */ +export type AccessReviewActorIdentityType = string; + +/** Known values of {@link AccessReviewScopePrincipalType} that the service accepts. */ +export enum KnownAccessReviewScopePrincipalType { + /** User */ + User = "user", + /** GuestUser */ + GuestUser = "guestUser", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal", + /** UserGroup */ + UserGroup = "user,group", + /** RedeemedGuestUser */ + RedeemedGuestUser = "redeemedGuestUser" } -/** Role assignment schedule request filter */ -export interface RoleAssignmentScheduleRequestFilter { - /** Returns role assignment requests of the specific principal. */ - principalId?: string; - /** Returns role assignment requests of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role assignment requests created by specific principal. */ - requestorId?: string; - /** Returns role assignment requests of specific status. */ - status?: string; -} +/** + * Defines values for AccessReviewScopePrincipalType. \ + * {@link KnownAccessReviewScopePrincipalType} can be used interchangeably with AccessReviewScopePrincipalType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **user** \ + * **guestUser** \ + * **servicePrincipal** \ + * **user,group** \ + * **redeemedGuestUser** + */ +export type AccessReviewScopePrincipalType = string; -/** Role eligibility schedule filter */ -export interface RoleEligibilityScheduleFilter { - /** Returns role eligibility schedule of the specific principal. */ - principalId?: string; - /** Returns role eligibility schedule of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role eligibility schedule of the specific status. */ - status?: string; +/** Known values of {@link AccessReviewScopeAssignmentState} that the service accepts. */ +export enum KnownAccessReviewScopeAssignmentState { + /** Eligible */ + Eligible = "eligible", + /** Active */ + Active = "active" } -/** Role eligibility schedule instance filter */ -export interface RoleEligibilityScheduleInstanceFilter { - /** Returns role eligibility schedule instances of the specific principal. */ - principalId?: string; - /** Returns role eligibility schedule instances of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role eligibility schedule instances of the specific status. */ - status?: string; - /** Returns role eligibility schedule instances belonging to a specific role eligibility schedule. */ - roleEligibilityScheduleId?: string; -} +/** + * Defines values for AccessReviewScopeAssignmentState. \ + * {@link KnownAccessReviewScopeAssignmentState} can be used interchangeably with AccessReviewScopeAssignmentState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **eligible** \ + * **active** + */ +export type AccessReviewScopeAssignmentState = string; -/** Role eligibility schedule request filter */ -export interface RoleEligibilityScheduleRequestFilter { - /** Returns role eligibility requests of the specific principal. */ - principalId?: string; - /** Returns role eligibility requests of the specific role definition. */ - roleDefinitionId?: string; - /** Returns role eligibility requests created by specific principal. */ - requestorId?: string; - /** Returns role eligibility requests of specific status. */ - status?: string; +/** Known values of {@link AccessReviewRecurrencePatternType} that the service accepts. */ +export enum KnownAccessReviewRecurrencePatternType { + /** Weekly */ + Weekly = "weekly", + /** AbsoluteMonthly */ + AbsoluteMonthly = "absoluteMonthly" } -/** The role management policy approval rule. */ -export interface RoleManagementPolicyApprovalRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyApprovalRule"; - /** The approval setting */ - setting?: ApprovalSettings; -} +/** + * Defines values for AccessReviewRecurrencePatternType. \ + * {@link KnownAccessReviewRecurrencePatternType} can be used interchangeably with AccessReviewRecurrencePatternType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **weekly** \ + * **absoluteMonthly** + */ +export type AccessReviewRecurrencePatternType = string; -/** The role management policy authentication context rule. */ -export interface RoleManagementPolicyAuthenticationContextRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyAuthenticationContextRule"; - /** The value indicating if rule is enabled. */ - isEnabled?: boolean; - /** The claim value. */ - claimValue?: string; +/** Known values of {@link AccessReviewRecurrenceRangeType} that the service accepts. */ +export enum KnownAccessReviewRecurrenceRangeType { + /** EndDate */ + EndDate = "endDate", + /** NoEnd */ + NoEnd = "noEnd", + /** Numbered */ + Numbered = "numbered" } -/** The role management policy enablement rule. */ -export interface RoleManagementPolicyEnablementRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyEnablementRule"; - /** The list of enabled rules. */ - enabledRules?: EnablementRules[]; +/** + * Defines values for AccessReviewRecurrenceRangeType. \ + * {@link KnownAccessReviewRecurrenceRangeType} can be used interchangeably with AccessReviewRecurrenceRangeType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **endDate** \ + * **noEnd** \ + * **numbered** + */ +export type AccessReviewRecurrenceRangeType = string; + +/** Known values of {@link AccessReviewScheduleDefinitionStatus} that the service accepts. */ +export enum KnownAccessReviewScheduleDefinitionStatus { + /** NotStarted */ + NotStarted = "NotStarted", + /** InProgress */ + InProgress = "InProgress", + /** Completed */ + Completed = "Completed", + /** Applied */ + Applied = "Applied", + /** Initializing */ + Initializing = "Initializing", + /** Applying */ + Applying = "Applying", + /** Completing */ + Completing = "Completing", + /** Scheduled */ + Scheduled = "Scheduled", + /** AutoReviewing */ + AutoReviewing = "AutoReviewing", + /** AutoReviewed */ + AutoReviewed = "AutoReviewed", + /** Starting */ + Starting = "Starting" } -/** The role management policy expiration rule. */ -export interface RoleManagementPolicyExpirationRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyExpirationRule"; - /** The value indicating whether expiration is required. */ - isExpirationRequired?: boolean; - /** The maximum duration of expiration in timespan. */ - maximumDuration?: string; -} +/** + * Defines values for AccessReviewScheduleDefinitionStatus. \ + * {@link KnownAccessReviewScheduleDefinitionStatus} can be used interchangeably with AccessReviewScheduleDefinitionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **NotStarted** \ + * **InProgress** \ + * **Completed** \ + * **Applied** \ + * **Initializing** \ + * **Applying** \ + * **Completing** \ + * **Scheduled** \ + * **AutoReviewing** \ + * **AutoReviewed** \ + * **Starting** + */ +export type AccessReviewScheduleDefinitionStatus = string; -/** The role management policy notification rule. */ -export interface RoleManagementPolicyNotificationRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyNotificationRule"; - /** The type of notification. */ - notificationType?: NotificationDeliveryMechanism; - /** The notification level. */ - notificationLevel?: NotificationLevel; - /** The recipient type. */ - recipientType?: RecipientType; - /** The list of notification recipients. */ - notificationRecipients?: string[]; - /** Determines if the notification will be sent to the recipient type specified in the policy rule. */ - isDefaultRecipientsEnabled?: boolean; -} - -/** Known values of {@link PrincipalType} that the service accepts. */ -export enum KnownPrincipalType { - /** User */ - User = "User", - /** Group */ - Group = "Group", - /** ServicePrincipal */ - ServicePrincipal = "ServicePrincipal", - /** ForeignGroup */ - ForeignGroup = "ForeignGroup", - /** Device */ - Device = "Device" +/** Known values of {@link DefaultDecisionType} that the service accepts. */ +export enum KnownDefaultDecisionType { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny", + /** Recommendation */ + Recommendation = "Recommendation" } /** - * Defines values for PrincipalType. \ - * {@link KnownPrincipalType} can be used interchangeably with PrincipalType, + * Defines values for DefaultDecisionType. \ + * {@link KnownDefaultDecisionType} can be used interchangeably with DefaultDecisionType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **User** \ - * **Group** \ - * **ServicePrincipal** \ - * **ForeignGroup** \ - * **Device** + * **Approve** \ + * **Deny** \ + * **Recommendation** */ -export type PrincipalType = string; +export type DefaultDecisionType = string; -/** Known values of {@link AssignmentType} that the service accepts. */ -export enum KnownAssignmentType { - /** Activated */ - Activated = "Activated", - /** Assigned */ - Assigned = "Assigned" +/** Known values of {@link AccessReviewReviewerType} that the service accepts. */ +export enum KnownAccessReviewReviewerType { + /** User */ + User = "user", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal" } /** - * Defines values for AssignmentType. \ - * {@link KnownAssignmentType} can be used interchangeably with AssignmentType, + * Defines values for AccessReviewReviewerType. \ + * {@link KnownAccessReviewReviewerType} can be used interchangeably with AccessReviewReviewerType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Activated** \ - * **Assigned** + * **user** \ + * **servicePrincipal** */ -export type AssignmentType = string; +export type AccessReviewReviewerType = string; -/** Known values of {@link MemberType} that the service accepts. */ -export enum KnownMemberType { - /** Inherited */ - Inherited = "Inherited", - /** Direct */ - Direct = "Direct", - /** Group */ - Group = "Group" +/** Known values of {@link AccessReviewScheduleDefinitionReviewersType} that the service accepts. */ +export enum KnownAccessReviewScheduleDefinitionReviewersType { + /** Assigned */ + Assigned = "Assigned", + /** Self */ + Self = "Self", + /** Managers */ + Managers = "Managers" } /** - * Defines values for MemberType. \ - * {@link KnownMemberType} can be used interchangeably with MemberType, + * Defines values for AccessReviewScheduleDefinitionReviewersType. \ + * {@link KnownAccessReviewScheduleDefinitionReviewersType} can be used interchangeably with AccessReviewScheduleDefinitionReviewersType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Inherited** \ - * **Direct** \ - * **Group** + * **Assigned** \ + * **Self** \ + * **Managers** */ -export type MemberType = string; - -/** Known values of {@link Status} that the service accepts. */ -export enum KnownStatus { - /** Accepted */ - Accepted = "Accepted", - /** PendingEvaluation */ - PendingEvaluation = "PendingEvaluation", - /** Granted */ - Granted = "Granted", - /** Denied */ - Denied = "Denied", - /** PendingProvisioning */ - PendingProvisioning = "PendingProvisioning", - /** Provisioned */ - Provisioned = "Provisioned", - /** PendingRevocation */ - PendingRevocation = "PendingRevocation", - /** Revoked */ - Revoked = "Revoked", - /** Canceled */ - Canceled = "Canceled", - /** Failed */ - Failed = "Failed", - /** PendingApprovalProvisioning */ - PendingApprovalProvisioning = "PendingApprovalProvisioning", - /** PendingApproval */ - PendingApproval = "PendingApproval", - /** FailedAsResourceIsLocked */ - FailedAsResourceIsLocked = "FailedAsResourceIsLocked", - /** PendingAdminDecision */ - PendingAdminDecision = "PendingAdminDecision", - /** AdminApproved */ - AdminApproved = "AdminApproved", - /** AdminDenied */ - AdminDenied = "AdminDenied", - /** TimedOut */ - TimedOut = "TimedOut", - /** ProvisioningStarted */ - ProvisioningStarted = "ProvisioningStarted", - /** Invalid */ - Invalid = "Invalid", - /** PendingScheduleCreation */ - PendingScheduleCreation = "PendingScheduleCreation", - /** ScheduleCreated */ - ScheduleCreated = "ScheduleCreated", - /** PendingExternalProvisioning */ - PendingExternalProvisioning = "PendingExternalProvisioning" +export type AccessReviewScheduleDefinitionReviewersType = string; + +/** Known values of {@link AccessReviewInstanceStatus} that the service accepts. */ +export enum KnownAccessReviewInstanceStatus { + /** NotStarted */ + NotStarted = "NotStarted", + /** InProgress */ + InProgress = "InProgress", + /** Completed */ + Completed = "Completed", + /** Applied */ + Applied = "Applied", + /** Initializing */ + Initializing = "Initializing", + /** Applying */ + Applying = "Applying", + /** Completing */ + Completing = "Completing", + /** Scheduled */ + Scheduled = "Scheduled", + /** AutoReviewing */ + AutoReviewing = "AutoReviewing", + /** AutoReviewed */ + AutoReviewed = "AutoReviewed", + /** Starting */ + Starting = "Starting" } /** - * Defines values for Status. \ - * {@link KnownStatus} can be used interchangeably with Status, + * Defines values for AccessReviewInstanceStatus. \ + * {@link KnownAccessReviewInstanceStatus} can be used interchangeably with AccessReviewInstanceStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Accepted** \ - * **PendingEvaluation** \ - * **Granted** \ - * **Denied** \ - * **PendingProvisioning** \ - * **Provisioned** \ - * **PendingRevocation** \ - * **Revoked** \ - * **Canceled** \ - * **Failed** \ - * **PendingApprovalProvisioning** \ - * **PendingApproval** \ - * **FailedAsResourceIsLocked** \ - * **PendingAdminDecision** \ - * **AdminApproved** \ - * **AdminDenied** \ - * **TimedOut** \ - * **ProvisioningStarted** \ - * **Invalid** \ - * **PendingScheduleCreation** \ - * **ScheduleCreated** \ - * **PendingExternalProvisioning** + * **NotStarted** \ + * **InProgress** \ + * **Completed** \ + * **Applied** \ + * **Initializing** \ + * **Applying** \ + * **Completing** \ + * **Scheduled** \ + * **AutoReviewing** \ + * **AutoReviewed** \ + * **Starting** */ -export type Status = string; - -/** Known values of {@link RequestType} that the service accepts. */ -export enum KnownRequestType { - /** AdminAssign */ - AdminAssign = "AdminAssign", - /** AdminRemove */ - AdminRemove = "AdminRemove", - /** AdminUpdate */ - AdminUpdate = "AdminUpdate", - /** AdminExtend */ - AdminExtend = "AdminExtend", - /** AdminRenew */ - AdminRenew = "AdminRenew", - /** SelfActivate */ - SelfActivate = "SelfActivate", - /** SelfDeactivate */ - SelfDeactivate = "SelfDeactivate", - /** SelfExtend */ - SelfExtend = "SelfExtend", - /** SelfRenew */ - SelfRenew = "SelfRenew" +export type AccessReviewInstanceStatus = string; + +/** Known values of {@link AccessReviewInstanceReviewersType} that the service accepts. */ +export enum KnownAccessReviewInstanceReviewersType { + /** Assigned */ + Assigned = "Assigned", + /** Self */ + Self = "Self", + /** Managers */ + Managers = "Managers" } /** - * Defines values for RequestType. \ - * {@link KnownRequestType} can be used interchangeably with RequestType, + * Defines values for AccessReviewInstanceReviewersType. \ + * {@link KnownAccessReviewInstanceReviewersType} can be used interchangeably with AccessReviewInstanceReviewersType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **AdminAssign** \ - * **AdminRemove** \ - * **AdminUpdate** \ - * **AdminExtend** \ - * **AdminRenew** \ - * **SelfActivate** \ - * **SelfDeactivate** \ - * **SelfExtend** \ - * **SelfRenew** + * **Assigned** \ + * **Self** \ + * **Managers** */ -export type RequestType = string; +export type AccessReviewInstanceReviewersType = string; -/** Known values of {@link Type} that the service accepts. */ -export enum KnownType { - /** AfterDuration */ - AfterDuration = "AfterDuration", - /** AfterDateTime */ - AfterDateTime = "AfterDateTime", - /** NoExpiration */ - NoExpiration = "NoExpiration" +/** Known values of {@link DecisionTargetType} that the service accepts. */ +export enum KnownDecisionTargetType { + /** User */ + User = "user", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal" } /** - * Defines values for Type. \ - * {@link KnownType} can be used interchangeably with Type, + * Defines values for DecisionTargetType. \ + * {@link KnownDecisionTargetType} can be used interchangeably with DecisionTargetType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **AfterDuration** \ - * **AfterDateTime** \ - * **NoExpiration** + * **user** \ + * **servicePrincipal** */ -export type Type = string; - -/** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ -export enum KnownRoleManagementPolicyRuleType { - /** RoleManagementPolicyApprovalRule */ - RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", - /** RoleManagementPolicyAuthenticationContextRule */ - RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", - /** RoleManagementPolicyEnablementRule */ - RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", - /** RoleManagementPolicyExpirationRule */ - RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", - /** RoleManagementPolicyNotificationRule */ - RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +export type DecisionTargetType = string; + +/** Known values of {@link DecisionResourceType} that the service accepts. */ +export enum KnownDecisionResourceType { + /** AzureRole */ + AzureRole = "azureRole" } /** - * Defines values for RoleManagementPolicyRuleType. \ - * {@link KnownRoleManagementPolicyRuleType} can be used interchangeably with RoleManagementPolicyRuleType, + * Defines values for DecisionResourceType. \ + * {@link KnownDecisionResourceType} can be used interchangeably with DecisionResourceType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **RoleManagementPolicyApprovalRule** \ - * **RoleManagementPolicyAuthenticationContextRule** \ - * **RoleManagementPolicyEnablementRule** \ - * **RoleManagementPolicyExpirationRule** \ - * **RoleManagementPolicyNotificationRule** + * **azureRole** */ -export type RoleManagementPolicyRuleType = string; +export type DecisionResourceType = string; -/** Known values of {@link ApprovalMode} that the service accepts. */ -export enum KnownApprovalMode { - /** SingleStage */ - SingleStage = "SingleStage", - /** Serial */ - Serial = "Serial", - /** Parallel */ - Parallel = "Parallel", - /** NoApproval */ - NoApproval = "NoApproval" +/** Known values of {@link AccessRecommendationType} that the service accepts. */ +export enum KnownAccessRecommendationType { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny", + /** NoInfoAvailable */ + NoInfoAvailable = "NoInfoAvailable" } /** - * Defines values for ApprovalMode. \ - * {@link KnownApprovalMode} can be used interchangeably with ApprovalMode, + * Defines values for AccessRecommendationType. \ + * {@link KnownAccessRecommendationType} can be used interchangeably with AccessRecommendationType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **SingleStage** \ - * **Serial** \ - * **Parallel** \ - * **NoApproval** + * **Approve** \ + * **Deny** \ + * **NoInfoAvailable** */ -export type ApprovalMode = string; - -/** Known values of {@link UserType} that the service accepts. */ -export enum KnownUserType { - /** User */ - User = "User", - /** Group */ - Group = "Group" +export type AccessRecommendationType = string; + +/** Known values of {@link AccessReviewApplyResult} that the service accepts. */ +export enum KnownAccessReviewApplyResult { + /** New */ + New = "New", + /** Applying */ + Applying = "Applying", + /** AppliedSuccessfully */ + AppliedSuccessfully = "AppliedSuccessfully", + /** AppliedWithUnknownFailure */ + AppliedWithUnknownFailure = "AppliedWithUnknownFailure", + /** AppliedSuccessfullyButObjectNotFound */ + AppliedSuccessfullyButObjectNotFound = "AppliedSuccessfullyButObjectNotFound", + /** ApplyNotSupported */ + ApplyNotSupported = "ApplyNotSupported" } /** - * Defines values for UserType. \ - * {@link KnownUserType} can be used interchangeably with UserType, + * Defines values for AccessReviewApplyResult. \ + * {@link KnownAccessReviewApplyResult} can be used interchangeably with AccessReviewApplyResult, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **User** \ - * **Group** + * **New** \ + * **Applying** \ + * **AppliedSuccessfully** \ + * **AppliedWithUnknownFailure** \ + * **AppliedSuccessfullyButObjectNotFound** \ + * **ApplyNotSupported** */ -export type UserType = string; +export type AccessReviewApplyResult = string; -/** Known values of {@link EnablementRules} that the service accepts. */ -export enum KnownEnablementRules { - /** MultiFactorAuthentication */ - MultiFactorAuthentication = "MultiFactorAuthentication", - /** Justification */ - Justification = "Justification", - /** Ticketing */ - Ticketing = "Ticketing" +/** Known values of {@link AccessReviewDecisionInsightType} that the service accepts. */ +export enum KnownAccessReviewDecisionInsightType { + /** UserSignInInsight */ + UserSignInInsight = "userSignInInsight" } /** - * Defines values for EnablementRules. \ - * {@link KnownEnablementRules} can be used interchangeably with EnablementRules, + * Defines values for AccessReviewDecisionInsightType. \ + * {@link KnownAccessReviewDecisionInsightType} can be used interchangeably with AccessReviewDecisionInsightType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **MultiFactorAuthentication** \ - * **Justification** \ - * **Ticketing** + * **userSignInInsight** */ -export type EnablementRules = string; +export type AccessReviewDecisionInsightType = string; -/** Known values of {@link NotificationDeliveryMechanism} that the service accepts. */ -export enum KnownNotificationDeliveryMechanism { - /** Email */ - Email = "Email" +/** Known values of {@link AccessReviewDecisionPrincipalResourceMembershipType} that the service accepts. */ +export enum KnownAccessReviewDecisionPrincipalResourceMembershipType { + /** Direct */ + Direct = "direct", + /** Indirect */ + Indirect = "indirect" } /** - * Defines values for NotificationDeliveryMechanism. \ - * {@link KnownNotificationDeliveryMechanism} can be used interchangeably with NotificationDeliveryMechanism, + * Defines values for AccessReviewDecisionPrincipalResourceMembershipType. \ + * {@link KnownAccessReviewDecisionPrincipalResourceMembershipType} can be used interchangeably with AccessReviewDecisionPrincipalResourceMembershipType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Email** + * **direct** \ + * **indirect** */ -export type NotificationDeliveryMechanism = string; +export type AccessReviewDecisionPrincipalResourceMembershipType = string; -/** Known values of {@link NotificationLevel} that the service accepts. */ -export enum KnownNotificationLevel { - /** None */ - None = "None", - /** Critical */ - Critical = "Critical", - /** All */ - All = "All" +/** Known values of {@link RecordAllDecisionsResult} that the service accepts. */ +export enum KnownRecordAllDecisionsResult { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny" } /** - * Defines values for NotificationLevel. \ - * {@link KnownNotificationLevel} can be used interchangeably with NotificationLevel, + * Defines values for RecordAllDecisionsResult. \ + * {@link KnownRecordAllDecisionsResult} can be used interchangeably with RecordAllDecisionsResult, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **None** \ - * **Critical** \ - * **All** + * **Approve** \ + * **Deny** */ -export type NotificationLevel = string; +export type RecordAllDecisionsResult = string; -/** Known values of {@link RecipientType} that the service accepts. */ -export enum KnownRecipientType { - /** Requestor */ - Requestor = "Requestor", - /** Approver */ - Approver = "Approver", - /** Admin */ - Admin = "Admin" +/** Known values of {@link SeverityLevel} that the service accepts. */ +export enum KnownSeverityLevel { + /** Low */ + Low = "Low", + /** Medium */ + Medium = "Medium", + /** High */ + High = "High" } /** - * Defines values for RecipientType. \ - * {@link KnownRecipientType} can be used interchangeably with RecipientType, + * Defines values for SeverityLevel. \ + * {@link KnownSeverityLevel} can be used interchangeably with SeverityLevel, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Requestor** \ - * **Approver** \ - * **Admin** + * **Low** \ + * **Medium** \ + * **High** */ -export type RecipientType = string; +export type SeverityLevel = string; /** Optional parameters. */ -export interface ClassicAdministratorsListOptionalParams +export interface OperationsListOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type ClassicAdministratorsListResponse = ClassicAdministratorListResult; +export type OperationsListResponse = OperationListResult; /** Optional parameters. */ -export interface ClassicAdministratorsListNextOptionalParams +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult; - -/** Optional parameters. */ -export interface GlobalAdministratorElevateAccessOptionalParams - extends coreClient.OperationOptions {} - -/** Optional parameters. */ -export interface DenyAssignmentsListForResourceOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} - -/** Contains response data for the listForResource operation. */ -export type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult; - -/** Optional parameters. */ -export interface DenyAssignmentsListForResourceGroupOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} - -/** Contains response data for the listForResourceGroup operation. */ -export type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult; +export type OperationsListNextResponse = OperationListResult; /** Optional parameters. */ -export interface DenyAssignmentsListOptionalParams +export interface AccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { - /** 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. */ + /** The filter to apply on the operation. Only standard filters on definition name and created date are supported */ filter?: string; } /** Contains response data for the list operation. */ -export type DenyAssignmentsListResponse = DenyAssignmentListResult; +export type AccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface DenyAssignmentsGetOptionalParams +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type DenyAssignmentsGetResponse = DenyAssignment; +/** Contains response data for the getById operation. */ +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface DenyAssignmentsGetByIdOptionalParams +export interface AccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the getById operation. */ -export type DenyAssignmentsGetByIdResponse = DenyAssignment; +/** Contains response data for the listNext operation. */ +export type AccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface DenyAssignmentsListForScopeOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} +export interface AccessReviewHistoryDefinitionCreateOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type DenyAssignmentsListForScopeResponse = DenyAssignmentListResult; +/** Contains response data for the create operation. */ +export type AccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface DenyAssignmentsListForResourceNextOptionalParams +export interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult; - /** Optional parameters. */ -export interface DenyAssignmentsListForResourceGroupNextOptionalParams +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult; +/** Contains response data for the generateDownloadUri operation. */ +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; /** Optional parameters. */ -export interface DenyAssignmentsListNextOptionalParams +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listNext operation. */ -export type DenyAssignmentsListNextResponse = DenyAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface DenyAssignmentsListForScopeNextOptionalParams +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface ProviderOperationsMetadataGetOptionalParams +export interface AccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { - /** Specifies whether to expand the values. */ - expand?: string; + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ + filter?: string; } -/** Contains response data for the get operation. */ -export type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata; +/** Contains response data for the list operation. */ +export type AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface ProviderOperationsMetadataListOptionalParams - extends coreClient.OperationOptions { - /** Specifies whether to expand the values. */ - expand?: string; -} +export interface AccessReviewScheduleDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the list operation. */ -export type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult; +/** Contains response data for the getById operation. */ +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface ProviderOperationsMetadataListNextOptionalParams +export interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listNext operation. */ -export type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult; - /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForSubscription operation. */ -export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; +/** Contains response data for the createOrUpdateById operation. */ +export type AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceGroupOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface AccessReviewScheduleDefinitionsStopOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroup operation. */ -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceOptionalParams +export interface AccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { - /** 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. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; - /** Tenant ID for cross-tenant request */ - tenantId?: string; } -/** Contains response data for the listForResource operation. */ -export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstancesListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsGetOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface AccessReviewInstancesGetByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentsGetResponse = RoleAssignment; +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsCreateOptionalParams +export interface AccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the create operation. */ -export type RoleAssignmentsCreateResponse = RoleAssignment; +export type AccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsDeleteOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface AccessReviewInstancesListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the delete operation. */ -export type RoleAssignmentsDeleteResponse = RoleAssignment; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; - /** Tenant ID for cross-tenant request */ - tenantId?: string; - /** The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role assignments following the skipToken passed. Only supported on provider level calls. */ - skipToken?: string; -} - -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; +export interface AccessReviewInstanceStopOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsGetByIdOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface AccessReviewInstanceResetDecisionsOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the getById operation. */ -export type RoleAssignmentsGetByIdResponse = RoleAssignment; +/** Optional parameters. */ +export interface AccessReviewInstanceApplyDecisionsOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsCreateByIdOptionalParams +export interface AccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createById operation. */ -export type RoleAssignmentsCreateByIdResponse = RoleAssignment; +/** Optional parameters. */ +export interface AccessReviewInstanceAcceptRecommendationsOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsDeleteByIdOptionalParams +export interface AccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ + filter?: string; } -/** Contains response data for the deleteById operation. */ -export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionNextOptionalParams +export interface AccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForSubscriptionNext operation. */ -export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceGroupNextOptionalParams +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceNextOptionalParams +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeNextOptionalParams +export interface AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; +/** Contains response data for the get operation. */ +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface PermissionsListForResourceGroupOptionalParams +export interface AccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroup operation. */ -export type PermissionsListForResourceGroupResponse = PermissionGetResult; +/** Contains response data for the put operation. */ +export type AccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Only standard filters on definition name and created date are supported */ + filter?: string; +} + +/** Contains response data for the list operation. */ +export type ScopeAccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface PermissionsListForResourceOptionalParams +export interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResource operation. */ -export type PermissionsListForResourceResponse = PermissionGetResult; +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface PermissionsListForResourceGroupNextOptionalParams +export interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type PermissionsListForResourceGroupNextResponse = PermissionGetResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface PermissionsListForResourceNextOptionalParams +export interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type PermissionsListForResourceNextResponse = PermissionGetResult; +/** Contains response data for the create operation. */ +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleDefinitionsDeleteOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the delete operation. */ -export type RoleDefinitionsDeleteResponse = RoleDefinition; +/** Contains response data for the generateDownloadUri operation. */ +export type ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; /** Optional parameters. */ -export interface RoleDefinitionsGetOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleDefinitionsGetResponse = RoleDefinition; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleDefinitionsCreateOrUpdateOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createOrUpdate operation. */ -export type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleDefinitionsListOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } /** Contains response data for the list operation. */ -export type RoleDefinitionsListResponse = RoleDefinitionListResult; +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleDefinitionsGetByIdOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the getById operation. */ -export type RoleDefinitionsGetByIdResponse = RoleDefinition; +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; + +/** Optional parameters. */ +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateById operation. */ +export type ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; + +/** Optional parameters. */ +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleDefinitionsListNextOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type RoleDefinitionsListNextResponse = RoleDefinitionListResult; +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface EligibleChildResourcesGetOptionalParams +export interface ScopeAccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { - /** 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' */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } -/** Contains response data for the get operation. */ -export type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstancesListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface EligibleChildResourcesGetNextOptionalParams +export interface ScopeAccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the getNext operation. */ -export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewInstancesGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentSchedulesGetOptionalParams +export interface ScopeAccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; +/** Contains response data for the create operation. */ +export type ScopeAccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentSchedulesListForScopeOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} +export interface ScopeAccessReviewInstancesListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentSchedulesListForScopeNextOptionalParams +export interface ScopeAccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceResetDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceApplyDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceSendRemindersOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams +export interface ScopeAccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { - /** 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. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesGetOptionalParams +export interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams +export interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsCreateOptionalParams +export interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsGetOptionalParams +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the put operation. */ +export type ScopeAccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams extends coreClient.OperationOptions { - /** 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. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; +/** Contains response data for the list operation. */ +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsCancelOptionalParams +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the listNext operation. */ +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse = AccessReviewScheduleDefinitionListResult; + /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsValidateOptionalParams - extends coreClient.OperationOptions {} +export interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ + filter?: string; +} -/** Contains response data for the validate operation. */ -export type RoleAssignmentScheduleRequestsValidateResponse = RoleAssignmentScheduleRequest; +/** Contains response data for the list operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesAssignedForMyApprovalGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleEligibilitySchedulesGetOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleEligibilitySchedulesListForScopeOptionalParams +export interface AccessReviewInstanceMyDecisionsListOptionalParams extends coreClient.OperationOptions { - /** 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. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } -/** Contains response data for the listForScope operation. */ -export type RoleEligibilitySchedulesListForScopeResponse = RoleEligibilityScheduleListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceMyDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleEligibilitySchedulesListForScopeNextOptionalParams +export interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; +/** Contains response data for the getById operation. */ +export type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} +export interface AccessReviewInstanceMyDecisionsPatchOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; +/** Contains response data for the patch operation. */ +export type AccessReviewInstanceMyDecisionsPatchResponse = AccessReviewDecision; /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesGetOptionalParams +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstanceMyDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; +/** Contains response data for the list operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsCreateOptionalParams +export interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; +/** Contains response data for the listNext operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsGetOptionalParams - extends coreClient.OperationOptions {} +export interface AlertsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; +export type AlertsGetResponse = Alert; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams - extends coreClient.OperationOptions { - /** 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. */ - filter?: string; -} +export interface AlertsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AlertsListForScopeOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the listForScope operation. */ -export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; +export type AlertsListForScopeResponse = AlertListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsCancelOptionalParams - extends coreClient.OperationOptions {} +export interface AlertsRefreshOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the refresh operation. */ +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsValidateOptionalParams - extends coreClient.OperationOptions {} +export interface AlertsRefreshAllOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} -/** Contains response data for the validate operation. */ -export type RoleEligibilityScheduleRequestsValidateResponse = RoleEligibilityScheduleRequest; +/** Contains response data for the refreshAll operation. */ +export type AlertsRefreshAllResponse = AlertsRefreshAllHeaders & + AlertOperationResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams +export interface AlertsListForScopeNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listForScopeNext operation. */ -export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; +export type AlertsListForScopeNextResponse = AlertListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesGetOptionalParams +export interface AlertConfigurationsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleManagementPoliciesGetResponse = RoleManagementPolicy; +export type AlertConfigurationsGetResponse = AlertConfiguration; + +/** Optional parameters. */ +export interface AlertConfigurationsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AlertConfigurationsListForScopeOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScope operation. */ +export type AlertConfigurationsListForScopeResponse = AlertConfigurationListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesUpdateOptionalParams +export interface AlertConfigurationsListForScopeNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the update operation. */ -export type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; +/** Contains response data for the listForScopeNext operation. */ +export type AlertConfigurationsListForScopeNextResponse = AlertConfigurationListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesDeleteOptionalParams +export interface AlertDefinitionsGetOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the get operation. */ +export type AlertDefinitionsGetResponse = AlertDefinition; + /** Optional parameters. */ -export interface RoleManagementPoliciesListForScopeOptionalParams +export interface AlertDefinitionsListForScopeOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listForScope operation. */ -export type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; +export type AlertDefinitionsListForScopeResponse = AlertDefinitionListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesListForScopeNextOptionalParams +export interface AlertDefinitionsListForScopeNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listForScopeNext operation. */ -export type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; +export type AlertDefinitionsListForScopeNextResponse = AlertDefinitionListResult; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsGetOptionalParams +export interface AlertIncidentsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; +export type AlertIncidentsGetResponse = AlertIncident; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsCreateOptionalParams +export interface AlertIncidentsListForScopeOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; +/** Contains response data for the listForScope operation. */ +export type AlertIncidentsListForScopeResponse = AlertIncidentListResult; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsDeleteOptionalParams +export interface AlertIncidentsRemediateOptionalParams extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsListForScopeOptionalParams +export interface AlertIncidentsListForScopeNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; +/** Contains response data for the listForScopeNext operation. */ +export type AlertIncidentsListForScopeNextResponse = AlertIncidentListResult; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams +export interface AlertOperationGetOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; +/** Contains response data for the get operation. */ +export type AlertOperationGetResponse = AlertOperationResult; /** Optional parameters. */ export interface AuthorizationManagementClientOptionalParams diff --git a/sdk/authorization/arm-authorization/src/models/mappers.ts b/sdk/authorization/arm-authorization/src/models/mappers.ts index 052a845c0c16..e8c62e7fcab4 100644 --- a/sdk/authorization/arm-authorization/src/models/mappers.ts +++ b/sdk/authorization/arm-authorization/src/models/mappers.ts @@ -8,10 +8,10 @@ import * as coreClient from "@azure/core-client"; -export const ClassicAdministratorListResult: coreClient.CompositeMapper = { +export const OperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ClassicAdministratorListResult", + className: "OperationListResult", modelProperties: { value: { serializedName: "value", @@ -20,7 +20,7 @@ export const ClassicAdministratorListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ClassicAdministrator" + className: "Operation" } } } @@ -35,37 +35,32 @@ export const ClassicAdministratorListResult: coreClient.CompositeMapper = { } }; -export const ClassicAdministrator: coreClient.CompositeMapper = { +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ClassicAdministrator", + className: "Operation", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, name: { serializedName: "name", type: { name: "String" } }, - type: { - serializedName: "type", + isDataAction: { + serializedName: "isDataAction", type: { - name: "String" + name: "Boolean" } }, - emailAddress: { - serializedName: "properties.emailAddress", + display: { + serializedName: "display", type: { - name: "String" + name: "Composite", + className: "OperationDisplay" } }, - role: { - serializedName: "properties.role", + origin: { + serializedName: "origin", type: { name: "String" } @@ -74,106 +69,85 @@ export const ClassicAdministrator: coreClient.CompositeMapper = { } }; -export const ErrorResponse: coreClient.CompositeMapper = { +export const OperationDisplay: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "OperationDisplay", modelProperties: { - error: { - serializedName: "error", - type: { - name: "Composite", - className: "ErrorDetail" - } - } - } - } -}; - -export const ErrorDetail: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorDetail", - modelProperties: { - code: { - serializedName: "code", + provider: { + serializedName: "provider", readOnly: true, type: { name: "String" } }, - message: { - serializedName: "message", + resource: { + serializedName: "resource", readOnly: true, type: { name: "String" } }, - target: { - serializedName: "target", + operation: { + serializedName: "operation", readOnly: true, type: { name: "String" } }, - details: { - serializedName: "details", + description: { + serializedName: "description", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorDetail" - } - } + name: "String" } - }, - additionalInfo: { - serializedName: "additionalInfo", - readOnly: true, + } + } + } +}; + +export const ErrorDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDefinition", + modelProperties: { + error: { + serializedName: "error", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorAdditionalInfo" - } - } + name: "Composite", + className: "ErrorDefinitionProperties" } } } } }; -export const ErrorAdditionalInfo: coreClient.CompositeMapper = { +export const ErrorDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorAdditionalInfo", + className: "ErrorDefinitionProperties", modelProperties: { - type: { - serializedName: "type", + message: { + serializedName: "message", readOnly: true, type: { name: "String" } }, - info: { - serializedName: "info", - readOnly: true, + code: { + serializedName: "code", type: { - name: "Dictionary", - value: { type: { name: "any" } } + name: "String" } } } } }; -export const DenyAssignmentListResult: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinitionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DenyAssignmentListResult", + className: "AccessReviewHistoryDefinitionListResult", modelProperties: { value: { serializedName: "value", @@ -182,7 +156,7 @@ export const DenyAssignmentListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "DenyAssignment" + className: "AccessReviewHistoryDefinition" } } } @@ -197,10 +171,10 @@ export const DenyAssignmentListResult: coreClient.CompositeMapper = { } }; -export const DenyAssignment: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DenyAssignment", + className: "AccessReviewHistoryDefinition", modelProperties: { id: { serializedName: "id", @@ -223,108 +197,149 @@ export const DenyAssignment: coreClient.CompositeMapper = { name: "String" } }, - denyAssignmentName: { - serializedName: "properties.denyAssignmentName", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - description: { - serializedName: "properties.description", + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" } }, - permissions: { - serializedName: "properties.permissions", + decisions: { + serializedName: "properties.decisions", + nullable: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "DenyAssignmentPermission" + name: "String" } } } }, - scope: { - serializedName: "properties.scope", + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, - doNotApplyToChildScopes: { - serializedName: "properties.doNotApplyToChildScopes", + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, type: { - name: "Boolean" + name: "DateTime" } }, - principals: { - serializedName: "properties.principals", + scopes: { + serializedName: "properties.scopes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Principal" + className: "AccessReviewScope" } } } }, - excludePrincipals: { - serializedName: "properties.excludePrincipals", + instances: { + serializedName: "properties.instances", type: { name: "Sequence", element: { type: { name: "Composite", - className: "Principal" + className: "AccessReviewHistoryInstance" } } } }, - isSystemProtected: { - serializedName: "properties.isSystemProtected", + typePropertiesSettingsRangeType: { + serializedName: "properties.settings.range.type", + nullable: true, type: { - name: "Boolean" + name: "String" } }, - condition: { - serializedName: "properties.condition", + numberOfOccurrences: { + serializedName: "properties.settings.range.numberOfOccurrences", + nullable: true, type: { - name: "String" + name: "Number" + } + }, + startDate: { + serializedName: "properties.settings.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "properties.settings.range.endDate", + nullable: true, + type: { + name: "DateTime" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + typePropertiesSettingsPatternType: { + serializedName: "properties.settings.pattern.type", + nullable: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + interval: { + serializedName: "properties.settings.pattern.interval", + nullable: true, + type: { + name: "Number" + } + }, + principalId: { + serializedName: "properties.createdBy.principalId", readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - updatedOn: { - serializedName: "properties.updatedOn", + principalType: { + serializedName: "properties.createdBy.principalType", readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - createdBy: { - serializedName: "properties.createdBy", + principalName: { + serializedName: "properties.createdBy.principalName", readOnly: true, + nullable: true, type: { name: "String" } }, - updatedBy: { - serializedName: "properties.updatedBy", + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", readOnly: true, + nullable: true, type: { name: "String" } @@ -333,24 +348,36 @@ export const DenyAssignment: coreClient.CompositeMapper = { } }; -export const DenyAssignmentPermission: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DenyAssignmentPermission", + className: "AccessReviewHistoryDefinitionProperties", modelProperties: { - actions: { - serializedName: "actions", + displayName: { + serializedName: "displayName", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" + } + }, + reviewHistoryPeriodStartDateTime: { + serializedName: "reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" } }, - notActions: { - serializedName: "notActions", + decisions: { + serializedName: "decisions", + nullable: true, type: { name: "Sequence", element: { @@ -360,69 +387,115 @@ export const DenyAssignmentPermission: coreClient.CompositeMapper = { } } }, - dataActions: { - serializedName: "dataActions", + status: { + serializedName: "status", + readOnly: true, + type: { + name: "String" + } + }, + createdDateTime: { + serializedName: "createdDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + scopes: { + serializedName: "scopes", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AccessReviewScope" } } } }, - notDataActions: { - serializedName: "notDataActions", + instances: { + serializedName: "instances", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AccessReviewHistoryInstance" } } } }, - condition: { - serializedName: "condition", + typeSettingsRangeType: { + serializedName: "settings.range.type", + nullable: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "conditionVersion", + numberOfOccurrences: { + serializedName: "settings.range.numberOfOccurrences", + nullable: true, + type: { + name: "Number" + } + }, + startDate: { + serializedName: "settings.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "settings.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typeSettingsPatternType: { + serializedName: "settings.pattern.type", + nullable: true, type: { name: "String" } - } - } - } -}; - -export const Principal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Principal", - modelProperties: { - id: { - serializedName: "id", + }, + interval: { + serializedName: "settings.pattern.interval", + nullable: true, + type: { + name: "Number" + } + }, + principalId: { + serializedName: "createdBy.principalId", + readOnly: true, + nullable: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + principalType: { + serializedName: "createdBy.principalType", + readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalName: { + serializedName: "createdBy.principalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - email: { - serializedName: "email", + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } @@ -431,146 +504,166 @@ export const Principal: coreClient.CompositeMapper = { } }; -export const ProviderOperationsMetadata: coreClient.CompositeMapper = { +export const AccessReviewScope: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProviderOperationsMetadata", + className: "AccessReviewScope", modelProperties: { - id: { - serializedName: "id", + resourceId: { + serializedName: "resourceId", + readOnly: true, type: { name: "String" } }, - name: { - serializedName: "name", + roleDefinitionId: { + serializedName: "roleDefinitionId", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalType: { + serializedName: "principalType", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + assignmentState: { + serializedName: "assignmentState", + readOnly: true, type: { name: "String" } }, - resourceTypes: { - serializedName: "resourceTypes", + inactiveDuration: { + serializedName: "inactiveDuration", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ResourceType" - } - } + name: "TimeSpan" } }, - operations: { - serializedName: "operations", + expandNestedMemberships: { + serializedName: "expandNestedMemberships", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProviderOperation" - } - } + name: "Boolean" } - } - } - } -}; - -export const ResourceType: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceType", - modelProperties: { - name: { - serializedName: "name", + }, + includeInheritedAccess: { + serializedName: "includeInheritedAccess", type: { - name: "String" + name: "Boolean" } }, - displayName: { - serializedName: "displayName", + includeAccessBelowResource: { + serializedName: "includeAccessBelowResource", + type: { + name: "Boolean" + } + }, + excludeResourceId: { + serializedName: "excludeResourceId", type: { name: "String" } }, - operations: { - serializedName: "operations", + excludeRoleDefinitionId: { + serializedName: "excludeRoleDefinitionId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ProviderOperation" - } - } + name: "String" } } } } }; -export const ProviderOperation: coreClient.CompositeMapper = { +export const AccessReviewHistoryInstance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProviderOperation", + className: "AccessReviewHistoryInstance", modelProperties: { - name: { - serializedName: "name", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "description", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - origin: { - serializedName: "origin", + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", + type: { + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", + type: { + name: "DateTime" + } + }, + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - properties: { - serializedName: "properties", + status: { + serializedName: "properties.status", + readOnly: true, type: { - name: "Dictionary", - value: { type: { name: "any" } } + name: "String" } }, - isDataAction: { - serializedName: "isDataAction", + runDateTime: { + serializedName: "properties.runDateTime", + nullable: true, type: { - name: "Boolean" + name: "DateTime" + } + }, + fulfilledDateTime: { + serializedName: "properties.fulfilledDateTime", + nullable: true, + type: { + name: "DateTime" + } + }, + downloadUri: { + serializedName: "properties.downloadUri", + readOnly: true, + type: { + name: "String" + } + }, + expiration: { + serializedName: "properties.expiration", + nullable: true, + type: { + name: "DateTime" } } } } }; -export const ProviderOperationsMetadataListResult: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinitionInstanceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ProviderOperationsMetadataListResult", + className: "AccessReviewHistoryDefinitionInstanceListResult", modelProperties: { value: { serializedName: "value", @@ -579,7 +672,7 @@ export const ProviderOperationsMetadataListResult: coreClient.CompositeMapper = element: { type: { name: "Composite", - className: "ProviderOperationsMetadata" + className: "AccessReviewHistoryInstance" } } } @@ -594,10 +687,10 @@ export const ProviderOperationsMetadataListResult: coreClient.CompositeMapper = } }; -export const RoleAssignmentListResult: coreClient.CompositeMapper = { +export const AccessReviewScheduleDefinitionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentListResult", + className: "AccessReviewScheduleDefinitionListResult", modelProperties: { value: { serializedName: "value", @@ -606,14 +699,13 @@ export const RoleAssignmentListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "RoleAssignment" + className: "AccessReviewScheduleDefinition" } } } }, nextLink: { serializedName: "nextLink", - readOnly: true, type: { name: "String" } @@ -622,10 +714,10 @@ export const RoleAssignmentListResult: coreClient.CompositeMapper = { } }; -export const RoleAssignment: coreClient.CompositeMapper = { +export const AccessReviewScheduleDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignment", + className: "AccessReviewScheduleDefinition", modelProperties: { id: { serializedName: "id", @@ -648,167 +740,255 @@ export const RoleAssignment: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - readOnly: true, + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + descriptionForAdmins: { + serializedName: "properties.descriptionForAdmins", type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + descriptionForReviewers: { + serializedName: "properties.descriptionForReviewers", type: { name: "String" } }, - description: { - serializedName: "properties.description", + reviewers: { + serializedName: "properties.reviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - condition: { - serializedName: "properties.condition", + backupReviewers: { + serializedName: "properties.backupReviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + reviewersType: { + serializedName: "properties.reviewersType", + readOnly: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + instances: { + serializedName: "properties.instances", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewInstance" + } + } } }, - updatedOn: { - serializedName: "properties.updatedOn", + resourceId: { + serializedName: "properties.scope.resourceId", readOnly: true, type: { - name: "DateTime" + name: "String" } }, - createdBy: { - serializedName: "properties.createdBy", + roleDefinitionId: { + serializedName: "properties.scope.roleDefinitionId", readOnly: true, type: { name: "String" } }, - updatedBy: { - serializedName: "properties.updatedBy", + principalTypePropertiesScopePrincipalType: { + serializedName: "properties.scope.principalType", readOnly: true, type: { name: "String" } }, - delegatedManagedIdentityResourceId: { - serializedName: "properties.delegatedManagedIdentityResourceId", + assignmentState: { + serializedName: "properties.scope.assignmentState", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentCreateParameters: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentCreateParameters", - modelProperties: { - scope: { - serializedName: "properties.scope", - readOnly: true, + }, + inactiveDuration: { + serializedName: "properties.scope.inactiveDuration", type: { - name: "String" + name: "TimeSpan" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", - required: true, + expandNestedMemberships: { + serializedName: "properties.scope.expandNestedMemberships", type: { - name: "String" + name: "Boolean" } }, - principalId: { - serializedName: "properties.principalId", - required: true, + includeInheritedAccess: { + serializedName: "properties.scope.includeInheritedAccess", type: { - name: "String" + name: "Boolean" } }, - principalType: { - serializedName: "properties.principalType", + includeAccessBelowResource: { + serializedName: "properties.scope.includeAccessBelowResource", + type: { + name: "Boolean" + } + }, + excludeResourceId: { + serializedName: "properties.scope.excludeResourceId", type: { name: "String" } }, - description: { - serializedName: "properties.description", + excludeRoleDefinitionId: { + serializedName: "properties.scope.excludeRoleDefinitionId", type: { name: "String" } }, - condition: { - serializedName: "properties.condition", + mailNotificationsEnabled: { + serializedName: "properties.settings.mailNotificationsEnabled", + type: { + name: "Boolean" + } + }, + reminderNotificationsEnabled: { + serializedName: "properties.settings.reminderNotificationsEnabled", + type: { + name: "Boolean" + } + }, + defaultDecisionEnabled: { + serializedName: "properties.settings.defaultDecisionEnabled", + type: { + name: "Boolean" + } + }, + justificationRequiredOnApproval: { + serializedName: "properties.settings.justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "properties.settings.defaultDecision", type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + autoApplyDecisionsEnabled: { + serializedName: "properties.settings.autoApplyDecisionsEnabled", + type: { + name: "Boolean" + } + }, + recommendationsEnabled: { + serializedName: "properties.settings.recommendationsEnabled", + type: { + name: "Boolean" + } + }, + recommendationLookBackDuration: { + serializedName: "properties.settings.recommendationLookBackDuration", + type: { + name: "TimeSpan" + } + }, + instanceDurationInDays: { + serializedName: "properties.settings.instanceDurationInDays", + type: { + name: "Number" + } + }, + typePropertiesSettingsRecurrenceRangeType: { + serializedName: "properties.settings.recurrence.range.type", type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + numberOfOccurrences: { + serializedName: + "properties.settings.recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "properties.settings.recurrence.range.startDate", + nullable: true, type: { name: "DateTime" } }, - updatedOn: { - serializedName: "properties.updatedOn", - readOnly: true, + endDate: { + serializedName: "properties.settings.recurrence.range.endDate", + nullable: true, type: { name: "DateTime" } }, - createdBy: { - serializedName: "properties.createdBy", + typePropertiesSettingsRecurrencePatternType: { + serializedName: "properties.settings.recurrence.pattern.type", + type: { + name: "String" + } + }, + interval: { + serializedName: "properties.settings.recurrence.pattern.interval", + type: { + name: "Number" + } + }, + principalId: { + serializedName: "properties.createdBy.principalId", + readOnly: true, + type: { + name: "String" + } + }, + principalTypePropertiesCreatedByPrincipalType: { + serializedName: "properties.createdBy.principalType", readOnly: true, type: { name: "String" } }, - updatedBy: { - serializedName: "properties.updatedBy", + principalName: { + serializedName: "properties.createdBy.principalName", readOnly: true, type: { name: "String" } }, - delegatedManagedIdentityResourceId: { - serializedName: "properties.delegatedManagedIdentityResourceId", + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", + readOnly: true, type: { name: "String" } @@ -817,509 +997,462 @@ export const RoleAssignmentCreateParameters: coreClient.CompositeMapper = { } }; -export const PermissionGetResult: coreClient.CompositeMapper = { +export const AccessReviewScheduleDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PermissionGetResult", + className: "AccessReviewScheduleDefinitionProperties", modelProperties: { - value: { - serializedName: "value", + displayName: { + serializedName: "displayName", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Permission" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const Permission: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Permission", - modelProperties: { - actions: { - serializedName: "actions", + }, + descriptionForAdmins: { + serializedName: "descriptionForAdmins", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" + } + }, + descriptionForReviewers: { + serializedName: "descriptionForReviewers", + type: { + name: "String" } }, - notActions: { - serializedName: "notActions", + reviewers: { + serializedName: "reviewers", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AccessReviewReviewer" } } } }, - dataActions: { - serializedName: "dataActions", + backupReviewers: { + serializedName: "backupReviewers", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AccessReviewReviewer" } } } }, - notDataActions: { - serializedName: "notDataActions", + reviewersType: { + serializedName: "reviewersType", + readOnly: true, + type: { + name: "String" + } + }, + instances: { + serializedName: "instances", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "AccessReviewInstance" } } } - } - } - } -}; - -export const RoleDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleDefinition", - modelProperties: { - id: { - serializedName: "id", + }, + resourceId: { + serializedName: "scope.resourceId", readOnly: true, type: { name: "String" } }, - name: { - serializedName: "name", + roleDefinitionId: { + serializedName: "scope.roleDefinitionId", readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalTypeScopePrincipalType: { + serializedName: "scope.principalType", readOnly: true, type: { name: "String" } }, - roleName: { - serializedName: "properties.roleName", + assignmentState: { + serializedName: "scope.assignmentState", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + inactiveDuration: { + serializedName: "scope.inactiveDuration", type: { - name: "String" + name: "TimeSpan" } }, - roleType: { - serializedName: "properties.type", + expandNestedMemberships: { + serializedName: "scope.expandNestedMemberships", type: { - name: "String" + name: "Boolean" } }, - permissions: { - serializedName: "properties.permissions", + includeInheritedAccess: { + serializedName: "scope.includeInheritedAccess", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "Permission" - } - } + name: "Boolean" } }, - assignableScopes: { - serializedName: "properties.assignableScopes", + includeAccessBelowResource: { + serializedName: "scope.includeAccessBelowResource", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Boolean" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + excludeResourceId: { + serializedName: "scope.excludeResourceId", type: { - name: "DateTime" + name: "String" } }, - updatedOn: { - serializedName: "properties.updatedOn", - readOnly: true, + excludeRoleDefinitionId: { + serializedName: "scope.excludeRoleDefinitionId", type: { - name: "DateTime" + name: "String" } }, - createdBy: { - serializedName: "properties.createdBy", - readOnly: true, + mailNotificationsEnabled: { + serializedName: "settings.mailNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - updatedBy: { - serializedName: "properties.updatedBy", - readOnly: true, + reminderNotificationsEnabled: { + serializedName: "settings.reminderNotificationsEnabled", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const RoleDefinitionListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleDefinitionListResult", - modelProperties: { - value: { - serializedName: "value", + }, + defaultDecisionEnabled: { + serializedName: "settings.defaultDecisionEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleDefinition" - } - } + name: "Boolean" } }, - nextLink: { - serializedName: "nextLink", + justificationRequiredOnApproval: { + serializedName: "settings.justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "settings.defaultDecision", type: { name: "String" } - } - } - } -}; - -export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EligibleChildResourcesListResult", - modelProperties: { - value: { - serializedName: "value", + }, + autoApplyDecisionsEnabled: { + serializedName: "settings.autoApplyDecisionsEnabled", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EligibleChildResource" - } - } + name: "Boolean" } }, - nextLink: { - serializedName: "nextLink", + recommendationsEnabled: { + serializedName: "settings.recommendationsEnabled", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const EligibleChildResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "EligibleChildResource", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, + }, + recommendationLookBackDuration: { + serializedName: "settings.recommendationLookBackDuration", type: { - name: "String" + name: "TimeSpan" } }, - name: { - serializedName: "name", - readOnly: true, + instanceDurationInDays: { + serializedName: "settings.instanceDurationInDays", type: { - name: "String" + name: "Number" } }, - type: { - serializedName: "type", - readOnly: true, + typeSettingsRecurrenceRangeType: { + serializedName: "settings.recurrence.range.type", type: { name: "String" } - } - } - } -}; - -export const CloudError: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CloudError", - modelProperties: { - error: { - serializedName: "error", + }, + numberOfOccurrences: { + serializedName: "settings.recurrence.range.numberOfOccurrences", type: { - name: "Composite", - className: "CloudErrorBody" + name: "Number" } - } - } - } -}; - -export const CloudErrorBody: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CloudErrorBody", - modelProperties: { - code: { - serializedName: "code", + }, + startDate: { + serializedName: "settings.recurrence.range.startDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - message: { - serializedName: "message", + endDate: { + serializedName: "settings.recurrence.range.endDate", + nullable: true, type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const RoleAssignmentSchedule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentSchedule", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, + }, + typeSettingsRecurrencePatternType: { + serializedName: "settings.recurrence.pattern.type", type: { name: "String" } }, - name: { - serializedName: "name", - readOnly: true, + interval: { + serializedName: "settings.recurrence.pattern.interval", type: { - name: "String" + name: "Number" } }, - type: { - serializedName: "type", + principalId: { + serializedName: "createdBy.principalId", readOnly: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + principalTypeCreatedByPrincipalType: { + serializedName: "createdBy.principalType", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + principalName: { + serializedName: "createdBy.principalName", + readOnly: true, type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", + readOnly: true, type: { name: "String" } + } + } + } +}; + +export const AccessReviewScheduleSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleSettings", + modelProperties: { + mailNotificationsEnabled: { + serializedName: "mailNotificationsEnabled", + type: { + name: "Boolean" + } }, - principalType: { - serializedName: "properties.principalType", + reminderNotificationsEnabled: { + serializedName: "reminderNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - roleAssignmentScheduleRequestId: { - serializedName: "properties.roleAssignmentScheduleRequestId", + defaultDecisionEnabled: { + serializedName: "defaultDecisionEnabled", type: { - name: "String" + name: "Boolean" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + justificationRequiredOnApproval: { + serializedName: "justificationRequiredOnApproval", type: { - name: "String" + name: "Boolean" } }, - assignmentType: { - serializedName: "properties.assignmentType", + defaultDecision: { + serializedName: "defaultDecision", type: { name: "String" } }, - memberType: { - serializedName: "properties.memberType", + autoApplyDecisionsEnabled: { + serializedName: "autoApplyDecisionsEnabled", type: { - name: "String" + name: "Boolean" } }, - status: { - serializedName: "properties.status", + recommendationsEnabled: { + serializedName: "recommendationsEnabled", type: { - name: "String" + name: "Boolean" } }, - startDateTime: { - serializedName: "properties.startDateTime", + recommendationLookBackDuration: { + serializedName: "recommendationLookBackDuration", type: { - name: "DateTime" + name: "TimeSpan" } }, - endDateTime: { - serializedName: "properties.endDateTime", + instanceDurationInDays: { + serializedName: "instanceDurationInDays", type: { - name: "DateTime" + name: "Number" } }, - condition: { - serializedName: "properties.condition", + typeRecurrenceRangeType: { + serializedName: "recurrence.range.type", type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + numberOfOccurrences: { + serializedName: "recurrence.range.numberOfOccurrences", type: { - name: "String" + name: "Number" } }, - createdOn: { - serializedName: "properties.createdOn", + startDate: { + serializedName: "recurrence.range.startDate", + nullable: true, type: { name: "DateTime" } }, - updatedOn: { - serializedName: "properties.updatedOn", + endDate: { + serializedName: "recurrence.range.endDate", + nullable: true, type: { name: "DateTime" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + typeRecurrencePatternType: { + serializedName: "recurrence.pattern.type", type: { - name: "Composite", - className: "ExpandedProperties" + name: "String" + } + }, + interval: { + serializedName: "recurrence.pattern.interval", + type: { + name: "Number" } } } } }; -export const ExpandedProperties: coreClient.CompositeMapper = { +export const AccessReviewReviewer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandedProperties", + className: "AccessReviewReviewer", modelProperties: { - scope: { - serializedName: "scope", - type: { - name: "Composite", - className: "ExpandedPropertiesScope" - } - }, - roleDefinition: { - serializedName: "roleDefinition", + principalId: { + serializedName: "principalId", type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition" + name: "String" } }, - principal: { - serializedName: "principal", + principalType: { + serializedName: "principalType", + readOnly: true, type: { - name: "Composite", - className: "ExpandedPropertiesPrincipal" + name: "String" } } } } }; -export const ExpandedPropertiesScope: coreClient.CompositeMapper = { +export const AccessReviewInstance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandedPropertiesScope", + className: "AccessReviewInstance", modelProperties: { id: { serializedName: "id", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { serializedName: "type", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition", - modelProperties: { - id: { - serializedName: "id", + }, + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + startDateTime: { + serializedName: "properties.startDateTime", type: { - name: "String" + name: "DateTime" } }, - type: { - serializedName: "type", + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + reviewers: { + serializedName: "properties.reviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + backupReviewers: { + serializedName: "properties.backupReviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + reviewersType: { + serializedName: "properties.reviewersType", + readOnly: true, type: { name: "String" } @@ -1328,31 +1461,57 @@ export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { } }; -export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { +export const AccessReviewInstanceProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandedPropertiesPrincipal", + className: "AccessReviewInstanceProperties", modelProperties: { - id: { - serializedName: "id", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + startDateTime: { + serializedName: "startDateTime", type: { - name: "String" + name: "DateTime" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" } }, - email: { - serializedName: "email", + reviewers: { + serializedName: "reviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - type: { - serializedName: "type", + backupReviewers: { + serializedName: "backupReviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + reviewersType: { + serializedName: "reviewersType", + readOnly: true, type: { name: "String" } @@ -1361,10 +1520,10 @@ export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { } }; -export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { +export const AccessReviewInstanceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleListResult", + className: "AccessReviewInstanceListResult", modelProperties: { value: { serializedName: "value", @@ -1373,7 +1532,7 @@ export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "RoleAssignmentSchedule" + className: "AccessReviewInstance" } } } @@ -1388,10 +1547,10 @@ export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { } }; -export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMapper = { +export const AccessReviewDecisionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleInstanceListResult", + className: "AccessReviewDecisionListResult", modelProperties: { value: { serializedName: "value", @@ -1400,7 +1559,7 @@ export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMappe element: { type: { name: "Composite", - className: "RoleAssignmentScheduleInstance" + className: "AccessReviewDecision" } } } @@ -1415,10 +1574,10 @@ export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMappe } }; -export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { +export const AccessReviewDecision: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleInstance", + className: "AccessReviewDecision", modelProperties: { id: { serializedName: "id", @@ -1441,504 +1600,484 @@ export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", - type: { - name: "String" - } - }, - principalId: { - serializedName: "properties.principalId", + recommendation: { + serializedName: "properties.recommendation", + readOnly: true, type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + decision: { + serializedName: "properties.decision", type: { name: "String" } }, - roleAssignmentScheduleId: { - serializedName: "properties.roleAssignmentScheduleId", + justification: { + serializedName: "properties.justification", type: { name: "String" } }, - originRoleAssignmentId: { - serializedName: "properties.originRoleAssignmentId", + reviewedDateTime: { + serializedName: "properties.reviewedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - status: { - serializedName: "properties.status", + applyResult: { + serializedName: "properties.applyResult", + readOnly: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", - type: { - name: "DateTime" - } - }, - endDateTime: { - serializedName: "properties.endDateTime", + appliedDateTime: { + serializedName: "properties.appliedDateTime", + readOnly: true, + nullable: true, type: { name: "DateTime" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + insights: { + serializedName: "properties.insights", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight" + } + } } }, - linkedRoleEligibilityScheduleInstanceId: { - serializedName: "properties.linkedRoleEligibilityScheduleInstanceId", + membershipTypes: { + serializedName: + "properties.principalResourceMembership.membershipTypes", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - assignmentType: { - serializedName: "properties.assignmentType", + principalIdPropertiesAppliedByPrincipalId: { + serializedName: "properties.appliedBy.principalId", + readOnly: true, + nullable: true, type: { name: "String" } }, - memberType: { - serializedName: "properties.memberType", + principalTypePropertiesAppliedByPrincipalType: { + serializedName: "properties.appliedBy.principalType", + readOnly: true, + nullable: true, type: { name: "String" } }, - condition: { - serializedName: "properties.condition", + principalNamePropertiesAppliedByPrincipalName: { + serializedName: "properties.appliedBy.principalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + userPrincipalNamePropertiesAppliedByUserPrincipalName: { + serializedName: "properties.appliedBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - type: { - name: "DateTime" - } - }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequest", - modelProperties: { - id: { - serializedName: "id", + principalIdPropertiesReviewedByPrincipalId: { + serializedName: "properties.reviewedBy.principalId", readOnly: true, + nullable: true, type: { name: "String" } }, - name: { - serializedName: "name", + principalTypePropertiesReviewedByPrincipalType: { + serializedName: "properties.reviewedBy.principalType", readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalNamePropertiesReviewedByPrincipalName: { + serializedName: "properties.reviewedBy.principalName", readOnly: true, + nullable: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + userPrincipalNamePropertiesReviewedByUserPrincipalName: { + serializedName: "properties.reviewedBy.userPrincipalName", readOnly: true, + nullable: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + typePropertiesResourceType: { + serializedName: "properties.resource.type", + nullable: true, type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + idPropertiesResourceId: { + serializedName: "properties.resource.id", + readOnly: true, + nullable: true, type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + displayNamePropertiesResourceDisplayName: { + serializedName: "properties.resource.displayName", readOnly: true, + nullable: true, type: { name: "String" } }, - requestType: { - serializedName: "properties.requestType", + typePropertiesPrincipalType: { + serializedName: "properties.principal.type", + nullable: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + idPropertiesPrincipalId: { + serializedName: "properties.principal.id", readOnly: true, + nullable: true, type: { name: "String" } }, - approvalId: { - serializedName: "properties.approvalId", + displayNamePropertiesPrincipalDisplayName: { + serializedName: "properties.principal.displayName", readOnly: true, + nullable: true, type: { name: "String" } - }, - targetRoleAssignmentScheduleId: { - serializedName: "properties.targetRoleAssignmentScheduleId", + } + } + } +}; + +export const AccessReviewDecisionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionProperties", + modelProperties: { + recommendation: { + serializedName: "recommendation", + readOnly: true, type: { name: "String" } }, - targetRoleAssignmentScheduleInstanceId: { - serializedName: "properties.targetRoleAssignmentScheduleInstanceId", + decision: { + serializedName: "decision", type: { name: "String" } }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", + justification: { + serializedName: "justification", type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo" + name: "String" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + reviewedDateTime: { + serializedName: "reviewedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - justification: { - serializedName: "properties.justification", + applyResult: { + serializedName: "applyResult", + readOnly: true, type: { name: "String" } }, - ticketInfo: { - serializedName: "properties.ticketInfo", + appliedDateTime: { + serializedName: "appliedDateTime", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo" + name: "DateTime" } }, - condition: { - serializedName: "properties.condition", + insights: { + serializedName: "insights", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight" + } + } } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + membershipTypes: { + serializedName: "principalResourceMembership.membershipTypes", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - createdOn: { - serializedName: "properties.createdOn", + principalIdAppliedByPrincipalId: { + serializedName: "appliedBy.principalId", readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - requestorId: { - serializedName: "properties.requestorId", + principalTypeAppliedByPrincipalType: { + serializedName: "appliedBy.principalType", readOnly: true, + nullable: true, type: { name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo", - modelProperties: { - startDateTime: { - serializedName: "startDateTime", + principalNameAppliedByPrincipalName: { + serializedName: "appliedBy.principalName", + readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - expiration: { - serializedName: "expiration", - type: { - name: "Composite", - className: - "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration", - modelProperties: { - type: { - serializedName: "type", + userPrincipalNameAppliedByUserPrincipalName: { + serializedName: "appliedBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - endDateTime: { - serializedName: "endDateTime", + principalIdReviewedByPrincipalId: { + serializedName: "reviewedBy.principalId", + readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - duration: { - serializedName: "duration", + principalTypeReviewedByPrincipalType: { + serializedName: "reviewedBy.principalType", + readOnly: true, + nullable: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo", - modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + }, + principalNameReviewedByPrincipalName: { + serializedName: "reviewedBy.principalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - ticketSystem: { - serializedName: "ticketSystem", + userPrincipalNameReviewedByUserPrincipalName: { + serializedName: "reviewedBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestListResult", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequest" - } - } - } }, - nextLink: { - serializedName: "nextLink", + typeResourceType: { + serializedName: "resource.type", + nullable: true, type: { name: "String" } - } - } - } -}; - -export const RoleEligibilitySchedule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilitySchedule", - modelProperties: { - id: { - serializedName: "id", + }, + idResourceId: { + serializedName: "resource.id", readOnly: true, + nullable: true, type: { name: "String" } }, - name: { - serializedName: "name", + displayNameResourceDisplayName: { + serializedName: "resource.displayName", readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", - readOnly: true, + typePrincipalType: { + serializedName: "principal.type", + nullable: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + idPrincipalId: { + serializedName: "principal.id", + readOnly: true, + nullable: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + displayNamePrincipalDisplayName: { + serializedName: "principal.displayName", + readOnly: true, + nullable: true, type: { name: "String" } - }, - principalId: { - serializedName: "properties.principalId", + } + } + } +}; + +export const AccessReviewDecisionIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + modelProperties: { + type: { + serializedName: "type", + required: true, type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - roleEligibilityScheduleRequestId: { - serializedName: "properties.roleEligibilityScheduleRequestId", + displayName: { + serializedName: "displayName", + readOnly: true, type: { name: "String" } - }, - memberType: { - serializedName: "properties.memberType", + } + } + } +}; + +export const AccessReviewDecisionInsight: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", - type: { - name: "DateTime" - } - }, - endDateTime: { - serializedName: "properties.endDateTime", - type: { - name: "DateTime" - } - }, - condition: { - serializedName: "properties.condition", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + typePropertiesType: { + serializedName: "properties.type", type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - type: { - name: "DateTime" - } - }, - updatedOn: { - serializedName: "properties.updatedOn", - type: { - name: "DateTime" - } - }, - expandedProperties: { - serializedName: "properties.expandedProperties", + insightCreatedDateTime: { + serializedName: "properties.insightCreatedDateTime", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "ExpandedProperties" + name: "any" } } } } }; -export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { +export const AccessReviewDecisionInsightProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleListResult", + className: "AccessReviewDecisionInsightProperties", + uberParent: "AccessReviewDecisionInsightProperties", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, modelProperties: { - value: { - serializedName: "value", + type: { + serializedName: "type", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleEligibilitySchedule" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + insightCreatedDateTime: { + serializedName: "insightCreatedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "any" } } } } }; -export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapper = { +export const AccessReviewContactedReviewerListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstanceListResult", + className: "AccessReviewContactedReviewerListResult", modelProperties: { value: { serializedName: "value", @@ -1947,7 +2086,7 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp element: { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance" + className: "AccessReviewContactedReviewer" } } } @@ -1962,10 +2101,10 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp } }; -export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { +export const AccessReviewContactedReviewer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance", + className: "AccessReviewContactedReviewer", modelProperties: { id: { serializedName: "id", @@ -1988,93 +2127,36 @@ export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", - type: { - name: "String" - } - }, - principalId: { - serializedName: "properties.principalId", - type: { - name: "String" - } - }, - principalType: { - serializedName: "properties.principalType", - type: { - name: "String" - } - }, - roleEligibilityScheduleId: { - serializedName: "properties.roleEligibilityScheduleId", - type: { - name: "String" - } - }, - status: { - serializedName: "properties.status", - type: { - name: "String" - } - }, - startDateTime: { - serializedName: "properties.startDateTime", - type: { - name: "DateTime" - } - }, - endDateTime: { - serializedName: "properties.endDateTime", - type: { - name: "DateTime" - } - }, - memberType: { - serializedName: "properties.memberType", - type: { - name: "String" - } - }, - condition: { - serializedName: "properties.condition", + userDisplayName: { + serializedName: "properties.userDisplayName", + readOnly: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + userPrincipalName: { + serializedName: "properties.userPrincipalName", + readOnly: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, type: { name: "DateTime" } - }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } } } } }; -export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { +export const AccessReviewDefaultSettings: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequest", + className: "AccessReviewDefaultSettings", modelProperties: { id: { serializedName: "id", @@ -2097,211 +2179,129 @@ export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - readOnly: true, - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + mailNotificationsEnabled: { + serializedName: "properties.mailNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - principalId: { - serializedName: "properties.principalId", + reminderNotificationsEnabled: { + serializedName: "properties.reminderNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - principalType: { - serializedName: "properties.principalType", - readOnly: true, + defaultDecisionEnabled: { + serializedName: "properties.defaultDecisionEnabled", type: { - name: "String" + name: "Boolean" } }, - requestType: { - serializedName: "properties.requestType", + justificationRequiredOnApproval: { + serializedName: "properties.justificationRequiredOnApproval", type: { - name: "String" + name: "Boolean" } }, - status: { - serializedName: "properties.status", - readOnly: true, + defaultDecision: { + serializedName: "properties.defaultDecision", type: { name: "String" } }, - approvalId: { - serializedName: "properties.approvalId", - readOnly: true, + autoApplyDecisionsEnabled: { + serializedName: "properties.autoApplyDecisionsEnabled", type: { - name: "String" + name: "Boolean" } }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", + recommendationsEnabled: { + serializedName: "properties.recommendationsEnabled", type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo" + name: "Boolean" } }, - targetRoleEligibilityScheduleId: { - serializedName: "properties.targetRoleEligibilityScheduleId", + recommendationLookBackDuration: { + serializedName: "properties.recommendationLookBackDuration", type: { - name: "String" + name: "TimeSpan" } }, - targetRoleEligibilityScheduleInstanceId: { - serializedName: "properties.targetRoleEligibilityScheduleInstanceId", + instanceDurationInDays: { + serializedName: "properties.instanceDurationInDays", type: { - name: "String" + name: "Number" } }, - justification: { - serializedName: "properties.justification", + typePropertiesRecurrenceRangeType: { + serializedName: "properties.recurrence.range.type", type: { name: "String" } }, - ticketInfo: { - serializedName: "properties.ticketInfo", - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo" - } - }, - condition: { - serializedName: "properties.condition", + numberOfOccurrences: { + serializedName: "properties.recurrence.range.numberOfOccurrences", type: { - name: "String" + name: "Number" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + startDate: { + serializedName: "properties.recurrence.range.startDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + endDate: { + serializedName: "properties.recurrence.range.endDate", + nullable: true, type: { name: "DateTime" } }, - requestorId: { - serializedName: "properties.requestorId", - readOnly: true, + typePropertiesRecurrencePatternType: { + serializedName: "properties.recurrence.pattern.type", type: { name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleEligibilityScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo", - modelProperties: { - startDateTime: { - serializedName: "startDateTime", - type: { - name: "DateTime" - } - }, - expiration: { - serializedName: "expiration", + interval: { + serializedName: "properties.recurrence.pattern.interval", type: { - name: "Composite", - className: - "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration" + name: "Number" } } } } }; -export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { +export const RecordAllDecisionsProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration", + className: "RecordAllDecisionsProperties", modelProperties: { - type: { - serializedName: "type", + principalId: { + serializedName: "principalId", + readOnly: true, type: { name: "String" } }, - endDateTime: { - serializedName: "endDateTime", - type: { - name: "DateTime" - } - }, - duration: { - serializedName: "duration", - type: { - name: "String" - } - } - } - } -}; - -export const RoleEligibilityScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo", - modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + resourceId: { + serializedName: "resourceId", + readOnly: true, type: { name: "String" } }, - ticketSystem: { - serializedName: "ticketSystem", + decision: { + serializedName: "decision", type: { name: "String" } - } - } - } -}; - -export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestListResult", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequest" - } - } - } }, - nextLink: { - serializedName: "nextLink", + justification: { + serializedName: "justification", type: { name: "String" } @@ -2310,10 +2310,10 @@ export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMappe } }; -export const RoleManagementPolicy: coreClient.CompositeMapper = { +export const Alert: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicy", + className: "Alert", modelProperties: { id: { serializedName: "id", @@ -2338,33 +2338,22 @@ export const RoleManagementPolicy: coreClient.CompositeMapper = { }, scope: { serializedName: "properties.scope", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - type: { - name: "String" - } - }, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - isOrganizationDefault: { - serializedName: "properties.isOrganizationDefault", + isActive: { + serializedName: "properties.isActive", type: { name: "Boolean" } }, - lastModifiedBy: { - serializedName: "properties.lastModifiedBy", + incidentCount: { + serializedName: "properties.incidentCount", + readOnly: true, type: { - name: "Composite", - className: "Principal" + name: "Number" } }, lastModifiedDateTime: { @@ -2374,176 +2363,165 @@ export const RoleManagementPolicy: coreClient.CompositeMapper = { name: "DateTime" } }, - rules: { - serializedName: "properties.rules", + lastScannedDateTime: { + serializedName: "properties.lastScannedDateTime", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "DateTime" } }, - effectiveRules: { - serializedName: "properties.effectiveRules", + alertDefinition: { + serializedName: "properties.alertDefinition", + type: { + name: "Composite", + className: "AlertDefinition" + } + }, + alertIncidents: { + serializedName: "properties.alertIncidents", readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleManagementPolicyRule" + className: "AlertIncident" } } } }, - policyProperties: { - serializedName: "properties.policyProperties", + alertConfiguration: { + serializedName: "properties.alertConfiguration", type: { name: "Composite", - className: "PolicyProperties" + className: "AlertConfiguration" } } } } }; -export const RoleManagementPolicyRule: coreClient.CompositeMapper = { +export const AlertDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyRule", - uberParent: "RoleManagementPolicyRule", - polymorphicDiscriminator: { - serializedName: "ruleType", - clientName: "ruleType" - }, + className: "AlertDefinition", modelProperties: { id: { serializedName: "id", + readOnly: true, type: { name: "String" } }, - ruleType: { - serializedName: "ruleType", - required: true, + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - target: { - serializedName: "target", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Composite", - className: "RoleManagementPolicyRuleTarget" + name: "String" } - } - } - } -}; - -export const RoleManagementPolicyRuleTarget: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleManagementPolicyRuleTarget", - modelProperties: { - caller: { - serializedName: "caller", + }, + displayName: { + serializedName: "properties.displayName", + readOnly: true, type: { name: "String" } }, - operations: { - serializedName: "operations", + scope: { + serializedName: "properties.scope", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - level: { - serializedName: "level", + description: { + serializedName: "properties.description", + readOnly: true, type: { name: "String" } }, - targetObjects: { - serializedName: "targetObjects", + severityLevel: { + serializedName: "properties.severityLevel", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - inheritableSettings: { - serializedName: "inheritableSettings", + securityImpact: { + serializedName: "properties.securityImpact", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - enforcedSettings: { - serializedName: "enforcedSettings", + mitigationSteps: { + serializedName: "properties.mitigationSteps", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } - } - } - } -}; - -export const PolicyProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyProperties", - modelProperties: { - scope: { - serializedName: "scope", + }, + howToPrevent: { + serializedName: "properties.howToPrevent", + readOnly: true, type: { - name: "Composite", - className: "PolicyPropertiesScope" + name: "String" + } + }, + isRemediatable: { + serializedName: "properties.isRemediatable", + readOnly: true, + type: { + name: "Boolean" + } + }, + isConfigurable: { + serializedName: "properties.isConfigurable", + readOnly: true, + type: { + name: "Boolean" } } } } }; -export const PolicyPropertiesScope: coreClient.CompositeMapper = { +export const AlertIncident: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyPropertiesScope", + className: "AlertIncident", modelProperties: { id: { serializedName: "id", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + alertIncidentType: { + serializedName: "properties.alertIncidentType", type: { name: "String" } @@ -2552,25 +2530,19 @@ export const PolicyPropertiesScope: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { +export const AlertIncidentProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyListResult", + className: "AlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: { + serializedName: "alertIncidentType", + clientName: "alertIncidentType" + }, modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicy" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + alertIncidentType: { + serializedName: "alertIncidentType", + required: true, type: { name: "String" } @@ -2579,10 +2551,10 @@ export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { +export const AlertConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyAssignment", + className: "AlertConfiguration", modelProperties: { id: { serializedName: "id", @@ -2605,164 +2577,132 @@ export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + alertDefinitionId: { + serializedName: "properties.alertDefinitionId", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + scope: { + serializedName: "properties.scope", + readOnly: true, type: { name: "String" } }, - policyId: { - serializedName: "properties.policyId", + isEnabled: { + serializedName: "properties.isEnabled", type: { - name: "String" + name: "Boolean" } }, - effectiveRules: { - serializedName: "properties.effectiveRules", - readOnly: true, + alertConfigurationType: { + serializedName: "properties.alertConfigurationType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "String" } }, - policyAssignmentProperties: { - serializedName: "properties.policyAssignmentProperties", + alertDefinition: { + serializedName: "properties.alertDefinition", type: { name: "Composite", - className: "PolicyAssignmentProperties" + className: "AlertDefinition" } } } } }; -export const PolicyAssignmentProperties: coreClient.CompositeMapper = { +export const AlertConfigurationProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentProperties", + className: "AlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: { + serializedName: "alertConfigurationType", + clientName: "alertConfigurationType" + }, modelProperties: { - scope: { - serializedName: "scope", + alertDefinitionId: { + serializedName: "alertDefinitionId", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesScope" + name: "String" } }, - roleDefinition: { - serializedName: "roleDefinition", + scope: { + serializedName: "scope", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition" + name: "String" } }, - policy: { - serializedName: "policy", - type: { - name: "Composite", - className: "PolicyAssignmentPropertiesPolicy" - } - } - } - } -}; - -export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyAssignmentPropertiesScope", - modelProperties: { - id: { - serializedName: "id", + isEnabled: { + serializedName: "isEnabled", type: { - name: "String" + name: "Boolean" } }, - displayName: { - serializedName: "displayName", + alertConfigurationType: { + serializedName: "alertConfigurationType", + required: true, type: { name: "String" } }, - type: { - serializedName: "type", + alertDefinition: { + serializedName: "alertDefinition", type: { - name: "String" + name: "Composite", + className: "AlertDefinition" } } } } }; -export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMapper = { +export const CloudError: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition", + className: "CloudError", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - }, - type: { - serializedName: "type", + error: { + serializedName: "error", type: { - name: "String" + name: "Composite", + className: "CloudErrorBody" } } } } }; -export const PolicyAssignmentPropertiesPolicy: coreClient.CompositeMapper = { +export const CloudErrorBody: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentPropertiesPolicy", + className: "CloudErrorBody", modelProperties: { - id: { - serializedName: "id", + code: { + serializedName: "code", type: { name: "String" } }, - lastModifiedBy: { - serializedName: "lastModifiedBy", - type: { - name: "Composite", - className: "Principal" - } - }, - lastModifiedDateTime: { - serializedName: "lastModifiedDateTime", + message: { + serializedName: "message", type: { - name: "DateTime" + name: "String" } } } } }; -export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMapper = { +export const AlertListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyAssignmentListResult", + className: "AlertListResult", modelProperties: { value: { serializedName: "value", @@ -2771,7 +2711,7 @@ export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMappe element: { type: { name: "Composite", - className: "RoleManagementPolicyAssignment" + className: "Alert" } } } @@ -2786,86 +2726,49 @@ export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMappe } }; -export const DenyAssignmentFilter: coreClient.CompositeMapper = { +export const AlertOperationResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "DenyAssignmentFilter", + className: "AlertOperationResult", modelProperties: { - denyAssignmentName: { - serializedName: "denyAssignmentName", - type: { - name: "String" - } - }, - principalId: { - serializedName: "principalId", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - gdprExportPrincipalId: { - serializedName: "gdprExportPrincipalId", - type: { - name: "String" - } - } - } - } -}; - -export const ValidationResponseErrorInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ValidationResponseErrorInfo", - modelProperties: { - code: { - serializedName: "code", + status: { + serializedName: "status", readOnly: true, type: { name: "String" } }, - message: { - serializedName: "message", + statusDetail: { + serializedName: "statusDetail", readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ValidationResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ValidationResponse", - modelProperties: { - isValid: { - serializedName: "isValid", + }, + createdDateTime: { + serializedName: "createdDateTime", readOnly: true, type: { - name: "Boolean" + name: "DateTime" } }, - errorInfo: { - serializedName: "errorInfo", - type: { - name: "Composite", - className: "ValidationResponseErrorInfo" - } - } - } - } -}; - -export const RoleAssignmentFilter: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentFilter", - modelProperties: { - principalId: { - serializedName: "principalId", + lastActionDateTime: { + serializedName: "lastActionDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + resourceLocation: { + serializedName: "resourceLocation", + readOnly: true, type: { name: "String" } @@ -2874,19 +2777,25 @@ export const RoleAssignmentFilter: coreClient.CompositeMapper = { } }; -export const RoleDefinitionFilter: coreClient.CompositeMapper = { +export const AlertConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleDefinitionFilter", + className: "AlertConfigurationListResult", modelProperties: { - roleName: { - serializedName: "roleName", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertConfiguration" + } + } } }, - type: { - serializedName: "type", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2895,133 +2804,73 @@ export const RoleDefinitionFilter: coreClient.CompositeMapper = { } }; -export const ApprovalSettings: coreClient.CompositeMapper = { +export const AlertDefinitionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApprovalSettings", + className: "AlertDefinitionListResult", modelProperties: { - isApprovalRequired: { - serializedName: "isApprovalRequired", - type: { - name: "Boolean" - } - }, - isApprovalRequiredForExtension: { - serializedName: "isApprovalRequiredForExtension", - type: { - name: "Boolean" - } - }, - isRequestorJustificationRequired: { - serializedName: "isRequestorJustificationRequired", - type: { - name: "Boolean" - } - }, - approvalMode: { - serializedName: "approvalMode", - type: { - name: "String" - } - }, - approvalStages: { - serializedName: "approvalStages", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ApprovalStage" + className: "AlertDefinition" } } } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } } } } }; -export const ApprovalStage: coreClient.CompositeMapper = { +export const AlertIncidentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApprovalStage", + className: "AlertIncidentListResult", modelProperties: { - approvalStageTimeOutInDays: { - serializedName: "approvalStageTimeOutInDays", - type: { - name: "Number" - } - }, - isApproverJustificationRequired: { - serializedName: "isApproverJustificationRequired", - type: { - name: "Boolean" - } - }, - escalationTimeInMinutes: { - serializedName: "escalationTimeInMinutes", - type: { - name: "Number" - } - }, - primaryApprovers: { - serializedName: "primaryApprovers", + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { name: "Composite", - className: "UserSet" + className: "AlertIncident" } } } }, - isEscalationEnabled: { - serializedName: "isEscalationEnabled", - type: { - name: "Boolean" - } - }, - escalationApprovers: { - serializedName: "escalationApprovers", + nextLink: { + serializedName: "nextLink", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "UserSet" - } - } + name: "String" } } } } }; -export const UserSet: coreClient.CompositeMapper = { +export const AccessReviewDecisionUserIdentity: coreClient.CompositeMapper = { + serializedName: "user", type: { name: "Composite", - className: "UserSet", + className: "AccessReviewDecisionUserIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: + AccessReviewDecisionIdentity.type.polymorphicDiscriminator, modelProperties: { - userType: { - serializedName: "userType", - type: { - name: "String" - } - }, - isBackup: { - serializedName: "isBackup", - type: { - name: "Boolean" - } - }, - id: { - serializedName: "id", - type: { - name: "String" - } - }, - description: { - serializedName: "description", + ...AccessReviewDecisionIdentity.type.modelProperties, + userPrincipalName: { + serializedName: "userPrincipalName", + readOnly: true, type: { name: "String" } @@ -3030,91 +2879,125 @@ export const UserSet: coreClient.CompositeMapper = { } }; -export const RoleAssignmentScheduleFilter: coreClient.CompositeMapper = { +export const AccessReviewDecisionServicePrincipalIdentity: coreClient.CompositeMapper = { + serializedName: "servicePrincipal", type: { name: "Composite", - className: "RoleAssignmentScheduleFilter", + className: "AccessReviewDecisionServicePrincipalIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: + AccessReviewDecisionIdentity.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", + ...AccessReviewDecisionIdentity.type.modelProperties, + appId: { + serializedName: "appId", + readOnly: true, type: { name: "String" } - }, - status: { - serializedName: "status", + } + } + } +}; + +export const AccessReviewDecisionUserSignInInsightProperties: coreClient.CompositeMapper = { + serializedName: "userSignInInsight", + type: { + name: "Composite", + className: "AccessReviewDecisionUserSignInInsightProperties", + uberParent: "AccessReviewDecisionInsightProperties", + polymorphicDiscriminator: + AccessReviewDecisionInsightProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AccessReviewDecisionInsightProperties.type.modelProperties, + lastSignInDateTime: { + serializedName: "lastSignInDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "any" } } } } }; -export const RoleAssignmentScheduleInstanceFilter: coreClient.CompositeMapper = { +export const AzureRolesAssignedOutsidePimAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertIncident", type: { name: "Composite", - className: "RoleAssignmentScheduleInstanceFilter", + className: "AzureRolesAssignedOutsidePimAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", + ...AlertIncidentProperties.type.modelProperties, + assigneeDisplayName: { + serializedName: "assigneeDisplayName", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "roleDefinitionId", + assigneeUserPrincipalName: { + serializedName: "assigneeUserPrincipalName", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "status", + assigneeId: { + serializedName: "assigneeId", + readOnly: true, type: { name: "String" } }, - roleAssignmentScheduleId: { - serializedName: "roleAssignmentScheduleId", + roleDisplayName: { + serializedName: "roleDisplayName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleRequestFilter: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestFilter", - modelProperties: { - principalId: { - serializedName: "principalId", + }, + roleTemplateId: { + serializedName: "roleTemplateId", + readOnly: true, type: { name: "String" } }, roleDefinitionId: { serializedName: "roleDefinitionId", + readOnly: true, type: { name: "String" } }, + assignmentActivatedDate: { + serializedName: "assignmentActivatedDate", + readOnly: true, + type: { + name: "DateTime" + } + }, requestorId: { serializedName: "requestorId", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "status", + requestorDisplayName: { + serializedName: "requestorDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + requestorUserPrincipalName: { + serializedName: "requestorUserPrincipalName", + readOnly: true, type: { name: "String" } @@ -3123,25 +3006,33 @@ export const RoleAssignmentScheduleRequestFilter: coreClient.CompositeMapper = { } }; -export const RoleEligibilityScheduleFilter: coreClient.CompositeMapper = { +export const DuplicateRoleCreatedAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertIncident", type: { name: "Composite", - className: "RoleEligibilityScheduleFilter", + className: "DuplicateRoleCreatedAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", + ...AlertIncidentProperties.type.modelProperties, + roleName: { + serializedName: "roleName", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "roleDefinitionId", + duplicateRoles: { + serializedName: "duplicateRoles", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "status", + reason: { + serializedName: "reason", + readOnly: true, type: { name: "String" } @@ -3150,31 +3041,26 @@ export const RoleEligibilityScheduleFilter: coreClient.CompositeMapper = { } }; -export const RoleEligibilityScheduleInstanceFilter: coreClient.CompositeMapper = { +export const TooManyOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertIncident", type: { name: "Composite", - className: "RoleEligibilityScheduleInstanceFilter", + className: "TooManyOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", - type: { - name: "String" - } - }, - status: { - serializedName: "status", + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, type: { name: "String" } }, - roleEligibilityScheduleId: { - serializedName: "roleEligibilityScheduleId", + assigneeType: { + serializedName: "assigneeType", + readOnly: true, type: { name: "String" } @@ -3183,31 +3069,27 @@ export const RoleEligibilityScheduleInstanceFilter: coreClient.CompositeMapper = } }; -export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = { +export const TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertIncident", type: { name: "Composite", - className: "RoleEligibilityScheduleRequestFilter", + className: + "TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", - type: { - name: "String" - } - }, - requestorId: { - serializedName: "requestorId", + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "status", + assigneeType: { + serializedName: "assigneeType", + readOnly: true, type: { name: "String" } @@ -3216,158 +3098,131 @@ export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = } }; -export const RoleManagementPolicyApprovalRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyApprovalRule", +export const AzureRolesAssignedOutsidePimAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyApprovalRule", - uberParent: "RoleManagementPolicyRule", + className: "AzureRolesAssignedOutsidePimAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - setting: { - serializedName: "setting", - type: { - name: "Composite", - className: "ApprovalSettings" - } - } + ...AlertConfigurationProperties.type.modelProperties } } }; -export const RoleManagementPolicyAuthenticationContextRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyAuthenticationContextRule", +export const DuplicateRoleCreatedAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyAuthenticationContextRule", - uberParent: "RoleManagementPolicyRule", + className: "DuplicateRoleCreatedAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - isEnabled: { - serializedName: "isEnabled", - type: { - name: "Boolean" - } - }, - claimValue: { - serializedName: "claimValue", - type: { - name: "String" - } - } + ...AlertConfigurationProperties.type.modelProperties } } }; -export const RoleManagementPolicyEnablementRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyEnablementRule", +export const TooManyOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyEnablementRule", - uberParent: "RoleManagementPolicyRule", + className: "TooManyOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - enabledRules: { - serializedName: "enabledRules", + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfOwners: { + serializedName: "thresholdNumberOfOwners", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" + } + }, + thresholdPercentageOfOwnersOutOfAllRoleMembers: { + serializedName: "thresholdPercentageOfOwnersOutOfAllRoleMembers", + type: { + name: "Number" } } } } }; -export const RoleManagementPolicyExpirationRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyExpirationRule", +export const TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyExpirationRule", - uberParent: "RoleManagementPolicyRule", + className: + "TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - isExpirationRequired: { - serializedName: "isExpirationRequired", + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfPermanentOwners: { + serializedName: "thresholdNumberOfPermanentOwners", type: { - name: "Boolean" + name: "Number" } }, - maximumDuration: { - serializedName: "maximumDuration", + thresholdPercentageOfPermanentOwnersOutOfAllOwners: { + serializedName: "thresholdPercentageOfPermanentOwnersOutOfAllOwners", type: { - name: "String" + name: "Number" } } } } }; -export const RoleManagementPolicyNotificationRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyNotificationRule", +export const AlertsRefreshHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyNotificationRule", - uberParent: "RoleManagementPolicyRule", - polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + className: "AlertsRefreshHeaders", modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - notificationType: { - serializedName: "notificationType", - type: { - name: "String" - } - }, - notificationLevel: { - serializedName: "notificationLevel", + location: { + serializedName: "location", type: { name: "String" } - }, - recipientType: { - serializedName: "recipientType", + } + } + } +}; + +export const AlertsRefreshAllHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertsRefreshAllHeaders", + modelProperties: { + location: { + serializedName: "location", type: { name: "String" } - }, - notificationRecipients: { - serializedName: "notificationRecipients", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - isDefaultRecipientsEnabled: { - serializedName: "isDefaultRecipientsEnabled", - type: { - name: "Boolean" - } } } } }; export let discriminators = { - RoleManagementPolicyRule: RoleManagementPolicyRule, - "RoleManagementPolicyRule.RoleManagementPolicyApprovalRule": RoleManagementPolicyApprovalRule, - "RoleManagementPolicyRule.RoleManagementPolicyAuthenticationContextRule": RoleManagementPolicyAuthenticationContextRule, - "RoleManagementPolicyRule.RoleManagementPolicyEnablementRule": RoleManagementPolicyEnablementRule, - "RoleManagementPolicyRule.RoleManagementPolicyExpirationRule": RoleManagementPolicyExpirationRule, - "RoleManagementPolicyRule.RoleManagementPolicyNotificationRule": RoleManagementPolicyNotificationRule + AccessReviewDecisionIdentity: AccessReviewDecisionIdentity, + AccessReviewDecisionInsightProperties: AccessReviewDecisionInsightProperties, + AlertIncidentProperties: AlertIncidentProperties, + AlertConfigurationProperties: AlertConfigurationProperties, + "AccessReviewDecisionIdentity.user": AccessReviewDecisionUserIdentity, + "AccessReviewDecisionIdentity.servicePrincipal": AccessReviewDecisionServicePrincipalIdentity, + "AccessReviewDecisionInsightProperties.userSignInInsight": AccessReviewDecisionUserSignInInsightProperties, + "AlertIncidentProperties.AzureRolesAssignedOutsidePimAlertIncident": AzureRolesAssignedOutsidePimAlertIncidentProperties, + "AlertIncidentProperties.DuplicateRoleCreatedAlertIncident": DuplicateRoleCreatedAlertIncidentProperties, + "AlertIncidentProperties.TooManyOwnersAssignedToResourceAlertIncident": TooManyOwnersAssignedToResourceAlertIncidentProperties, + "AlertIncidentProperties.TooManyPermanentOwnersAssignedToResourceAlertIncident": TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties, + "AlertConfigurationProperties.AzureRolesAssignedOutsidePimAlertConfiguration": AzureRolesAssignedOutsidePimAlertConfigurationProperties, + "AlertConfigurationProperties.DuplicateRoleCreatedAlertConfiguration": DuplicateRoleCreatedAlertConfigurationProperties, + "AlertConfigurationProperties.TooManyOwnersAssignedToResourceAlertConfiguration": TooManyOwnersAssignedToResourceAlertConfigurationProperties, + "AlertConfigurationProperties.TooManyPermanentOwnersAssignedToResourceAlertConfiguration": TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties }; diff --git a/sdk/authorization/arm-authorization/src/models/parameters.ts b/sdk/authorization/arm-authorization/src/models/parameters.ts index e2537883c77c..ffc76f89e1af 100644 --- a/sdk/authorization/arm-authorization/src/models/parameters.ts +++ b/sdk/authorization/arm-authorization/src/models/parameters.ts @@ -12,12 +12,14 @@ import { OperationQueryParameter } from "@azure/core-client"; import { - RoleAssignmentCreateParameters as RoleAssignmentCreateParametersMapper, - RoleDefinition as RoleDefinitionMapper, - RoleAssignmentScheduleRequest as RoleAssignmentScheduleRequestMapper, - RoleEligibilityScheduleRequest as RoleEligibilityScheduleRequestMapper, - RoleManagementPolicy as RoleManagementPolicyMapper, - RoleManagementPolicyAssignment as RoleManagementPolicyAssignmentMapper + AccessReviewHistoryDefinitionProperties as AccessReviewHistoryDefinitionPropertiesMapper, + AccessReviewScheduleDefinitionProperties as AccessReviewScheduleDefinitionPropertiesMapper, + AccessReviewInstanceProperties as AccessReviewInstancePropertiesMapper, + AccessReviewScheduleSettings as AccessReviewScheduleSettingsMapper, + RecordAllDecisionsProperties as RecordAllDecisionsPropertiesMapper, + AccessReviewDecisionProperties as AccessReviewDecisionPropertiesMapper, + Alert as AlertMapper, + AlertConfiguration as AlertConfigurationMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -47,7 +49,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2015-07-01", + defaultValue: "2021-12-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -56,20 +58,6 @@ export const apiVersion: OperationQueryParameter = { } }; -export const subscriptionId: OperationURLParameter = { - parameterPath: "subscriptionId", - mapper: { - constraints: { - MinLength: 1 - }, - serializedName: "subscriptionId", - required: true, - type: { - name: "String" - } - } -}; - export const nextLink: OperationURLParameter = { parameterPath: "nextLink", mapper: { @@ -82,14 +70,10 @@ export const nextLink: OperationURLParameter = { skipEncoding: true }; -export const resourceGroupName: OperationURLParameter = { - parameterPath: "resourceGroupName", +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { - constraints: { - MaxLength: 90, - MinLength: 1 - }, - serializedName: "resourceGroupName", + serializedName: "subscriptionId", required: true, type: { name: "String" @@ -97,35 +81,10 @@ export const resourceGroupName: OperationURLParameter = { } }; -export const resourceProviderNamespace: OperationURLParameter = { - parameterPath: "resourceProviderNamespace", - mapper: { - serializedName: "resourceProviderNamespace", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true -}; - -export const parentResourcePath: OperationURLParameter = { - parameterPath: "parentResourcePath", - mapper: { - serializedName: "parentResourcePath", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true -}; - -export const resourceType: OperationURLParameter = { - parameterPath: "resourceType", +export const filter: OperationQueryParameter = { + parameterPath: ["options", "filter"], mapper: { - serializedName: "resourceType", - required: true, + serializedName: "$filter", type: { name: "String" } @@ -133,10 +92,10 @@ export const resourceType: OperationURLParameter = { skipEncoding: true }; -export const resourceName: OperationURLParameter = { - parameterPath: "resourceName", +export const historyDefinitionId: OperationURLParameter = { + parameterPath: "historyDefinitionId", mapper: { - serializedName: "resourceName", + serializedName: "historyDefinitionId", required: true, type: { name: "String" @@ -144,44 +103,38 @@ export const resourceName: OperationURLParameter = { } }; -export const apiVersion1: OperationQueryParameter = { - parameterPath: "apiVersion", +export const contentType: OperationParameter = { + parameterPath: ["options", "contentType"], mapper: { - defaultValue: "2022-04-01", + defaultValue: "application/json", isConstant: true, - serializedName: "api-version", + serializedName: "Content-Type", type: { name: "String" } } }; -export const filter: OperationQueryParameter = { - parameterPath: ["options", "filter"], - mapper: { - serializedName: "$filter", - type: { - name: "String" - } - } +export const properties: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewHistoryDefinitionPropertiesMapper }; -export const scope: OperationURLParameter = { - parameterPath: "scope", +export const instanceId: OperationURLParameter = { + parameterPath: "instanceId", mapper: { - serializedName: "scope", + serializedName: "instanceId", required: true, type: { name: "String" } - }, - skipEncoding: true + } }; -export const denyAssignmentId: OperationURLParameter = { - parameterPath: "denyAssignmentId", +export const scheduleDefinitionId: OperationURLParameter = { + parameterPath: "scheduleDefinitionId", mapper: { - serializedName: "denyAssignmentId", + serializedName: "scheduleDefinitionId", required: true, type: { name: "String" @@ -189,106 +142,68 @@ export const denyAssignmentId: OperationURLParameter = { } }; -export const denyAssignmentId1: OperationURLParameter = { - parameterPath: "denyAssignmentId", - mapper: { - serializedName: "denyAssignmentId", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true +export const properties1: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleDefinitionPropertiesMapper }; -export const expand: OperationQueryParameter = { - parameterPath: ["options", "expand"], +export const id: OperationURLParameter = { + parameterPath: "id", mapper: { - defaultValue: "resourceTypes", - serializedName: "$expand", + serializedName: "id", + required: true, type: { name: "String" } } }; -export const filter1: OperationQueryParameter = { - parameterPath: ["options", "filter"], - mapper: { - serializedName: "$filter", - type: { - name: "String" - } - }, - skipEncoding: true +export const properties2: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewInstancePropertiesMapper }; -export const tenantId: OperationQueryParameter = { - parameterPath: ["options", "tenantId"], - mapper: { - serializedName: "tenantId", - type: { - name: "String" - } - } +export const properties3: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleSettingsMapper }; -export const resourceName1: OperationURLParameter = { - parameterPath: "resourceName", +export const scope: OperationURLParameter = { + parameterPath: "scope", mapper: { - serializedName: "resourceName", + serializedName: "scope", required: true, type: { name: "String" } - }, - skipEncoding: true + } }; -export const roleAssignmentName: OperationURLParameter = { - parameterPath: "roleAssignmentName", - mapper: { - serializedName: "roleAssignmentName", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true +export const properties4: OperationParameter = { + parameterPath: "properties", + mapper: RecordAllDecisionsPropertiesMapper }; -export const contentType: OperationParameter = { - parameterPath: ["options", "contentType"], +export const decisionId: OperationURLParameter = { + parameterPath: "decisionId", mapper: { - defaultValue: "application/json", - isConstant: true, - serializedName: "Content-Type", + serializedName: "decisionId", + required: true, type: { name: "String" } } }; -export const parameters: OperationParameter = { - parameterPath: "parameters", - mapper: RoleAssignmentCreateParametersMapper +export const properties5: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewDecisionPropertiesMapper }; -export const skipToken: OperationQueryParameter = { - parameterPath: ["options", "skipToken"], - mapper: { - serializedName: "$skipToken", - type: { - name: "String" - } - }, - skipEncoding: true -}; - -export const roleAssignmentId: OperationURLParameter = { - parameterPath: "roleAssignmentId", +export const scope1: OperationURLParameter = { + parameterPath: "scope", mapper: { - serializedName: "roleAssignmentId", + serializedName: "scope", required: true, type: { name: "String" @@ -297,26 +212,10 @@ export const roleAssignmentId: OperationURLParameter = { skipEncoding: true }; -export const roleDefinitionId: OperationURLParameter = { - parameterPath: "roleDefinitionId", +export const alertId: OperationURLParameter = { + parameterPath: "alertId", mapper: { - serializedName: "roleDefinitionId", - required: true, - type: { - name: "String" - } - } -}; - -export const roleDefinition: OperationParameter = { - parameterPath: "roleDefinition", - mapper: RoleDefinitionMapper -}; - -export const roleId: OperationURLParameter = { - parameterPath: "roleId", - mapper: { - serializedName: "roleId", + serializedName: "alertId", required: true, type: { name: "String" @@ -325,10 +224,10 @@ export const roleId: OperationURLParameter = { skipEncoding: true }; -export const apiVersion2: OperationQueryParameter = { +export const apiVersion1: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2020-10-01", + defaultValue: "2022-08-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -337,110 +236,48 @@ export const apiVersion2: OperationQueryParameter = { } }; -export const roleAssignmentScheduleName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleName", - mapper: { - serializedName: "roleAssignmentScheduleName", - required: true, - type: { - name: "String" - } - } -}; - -export const roleAssignmentScheduleInstanceName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleInstanceName", - mapper: { - serializedName: "roleAssignmentScheduleInstanceName", - required: true, - type: { - name: "String" - } - } -}; - -export const parameters1: OperationParameter = { +export const parameters: OperationParameter = { parameterPath: "parameters", - mapper: RoleAssignmentScheduleRequestMapper -}; - -export const roleAssignmentScheduleRequestName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleRequestName", - mapper: { - serializedName: "roleAssignmentScheduleRequestName", - required: true, - type: { - name: "String" - } - } -}; - -export const roleEligibilityScheduleName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleName", - mapper: { - serializedName: "roleEligibilityScheduleName", - required: true, - type: { - name: "String" - } - } -}; - -export const roleEligibilityScheduleInstanceName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleInstanceName", - mapper: { - serializedName: "roleEligibilityScheduleInstanceName", - required: true, - type: { - name: "String" - } - } + mapper: AlertMapper }; -export const parameters2: OperationParameter = { +export const parameters1: OperationParameter = { parameterPath: "parameters", - mapper: RoleEligibilityScheduleRequestMapper + mapper: AlertConfigurationMapper }; -export const roleEligibilityScheduleRequestName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleRequestName", +export const alertDefinitionId: OperationURLParameter = { + parameterPath: "alertDefinitionId", mapper: { - serializedName: "roleEligibilityScheduleRequestName", + serializedName: "alertDefinitionId", required: true, type: { name: "String" } - } + }, + skipEncoding: true }; -export const roleManagementPolicyName: OperationURLParameter = { - parameterPath: "roleManagementPolicyName", +export const alertIncidentId: OperationURLParameter = { + parameterPath: "alertIncidentId", mapper: { - serializedName: "roleManagementPolicyName", + serializedName: "alertIncidentId", required: true, type: { name: "String" } - } -}; - -export const parameters3: OperationParameter = { - parameterPath: "parameters", - mapper: RoleManagementPolicyMapper + }, + skipEncoding: true }; -export const roleManagementPolicyAssignmentName: OperationURLParameter = { - parameterPath: "roleManagementPolicyAssignmentName", +export const operationId: OperationURLParameter = { + parameterPath: "operationId", mapper: { - serializedName: "roleManagementPolicyAssignmentName", + serializedName: "operationId", required: true, type: { name: "String" } - } -}; - -export const parameters4: OperationParameter = { - parameterPath: "parameters", - mapper: RoleManagementPolicyAssignmentMapper + }, + skipEncoding: true }; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts new file mode 100644 index 000000000000..58839bfa576a --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts @@ -0,0 +1,98 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AccessReviewDefaultSettingsOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDefaultSettingsGetOptionalParams, + AccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + AccessReviewDefaultSettingsPutOptionalParams, + AccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Class containing AccessReviewDefaultSettingsOperations operations. */ +export class AccessReviewDefaultSettingsOperationsImpl + implements AccessReviewDefaultSettingsOperations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewDefaultSettingsOperations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review default settings for the subscription + * @param options The options parameters. + */ + get( + options?: AccessReviewDefaultSettingsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, getOperationSpec); + } + + /** + * Get access review default settings for the subscription + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + properties: AccessReviewScheduleSettings, + options?: AccessReviewDefaultSettingsPutOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { properties, options }, + putOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDefaultSettings + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const putOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDefaultSettings + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties3, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..1061170f58da --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,74 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AccessReviewHistoryDefinitionInstance } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Class containing AccessReviewHistoryDefinitionInstance operations. */ +export class AccessReviewHistoryDefinitionInstanceImpl + implements AccessReviewHistoryDefinitionInstance { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitionInstance class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + historyDefinitionId: string, + instanceId: string, + options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, instanceId, options }, + generateDownloadUriOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const generateDownloadUriOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances/{instanceId}/generateDownloadUri", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId, + Parameters.instanceId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..7fe18deafc4f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,178 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewHistoryDefinitionInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryInstance, + AccessReviewHistoryDefinitionInstancesListNextOptionalParams, + AccessReviewHistoryDefinitionInstancesListOptionalParams, + AccessReviewHistoryDefinitionInstancesListResponse, + AccessReviewHistoryDefinitionInstancesListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewHistoryDefinitionInstances operations. */ +export class AccessReviewHistoryDefinitionInstancesImpl + implements AccessReviewHistoryDefinitionInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitionInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + public list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(historyDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(historyDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewHistoryDefinitionInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(historyDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + historyDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + private _list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param historyDefinitionId The id of the access review history definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + historyDefinitionId: string, + nextLink: string, + options?: AccessReviewHistoryDefinitionInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionOperations.ts new file mode 100644 index 000000000000..b78f8f3e5b37 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionOperations.ts @@ -0,0 +1,111 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AccessReviewHistoryDefinitionOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinitionProperties, + AccessReviewHistoryDefinitionCreateOptionalParams, + AccessReviewHistoryDefinitionCreateResponse, + AccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Class containing AccessReviewHistoryDefinitionOperations operations. */ +export class AccessReviewHistoryDefinitionOperationsImpl + implements AccessReviewHistoryDefinitionOperations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitionOperations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Create a scheduled or one-time Access Review History Definition + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: AccessReviewHistoryDefinitionCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, properties, options }, + createOperationSpec + ); + } + + /** + * Delete an access review history definition + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, options }, + deleteByIdOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..d6a2c4921735 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts @@ -0,0 +1,195 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewHistoryDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinition, + AccessReviewHistoryDefinitionsListNextOptionalParams, + AccessReviewHistoryDefinitionsListOptionalParams, + AccessReviewHistoryDefinitionsListResponse, + AccessReviewHistoryDefinitionsGetByIdOptionalParams, + AccessReviewHistoryDefinitionsGetByIdResponse, + AccessReviewHistoryDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewHistoryDefinitions operations. */ +export class AccessReviewHistoryDefinitionsImpl + implements AccessReviewHistoryDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + public list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewHistoryDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewHistoryDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + private _list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Get access review history definition by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: AccessReviewHistoryDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..f52d5d3c0fd1 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + AccessReviewInstanceContactedReviewersListNextOptionalParams, + AccessReviewInstanceContactedReviewersListOptionalParams, + AccessReviewInstanceContactedReviewersListResponse, + AccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceContactedReviewers operations. */ +export class AccessReviewInstanceContactedReviewersImpl + implements AccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..ed15cafc863f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + AccessReviewInstanceDecisionsListNextOptionalParams, + AccessReviewInstanceDecisionsListOptionalParams, + AccessReviewInstanceDecisionsListResponse, + AccessReviewInstanceDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceDecisions operations. */ +export class AccessReviewInstanceDecisionsImpl + implements AccessReviewInstanceDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * 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 options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * 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 options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts new file mode 100644 index 000000000000..816c3e6a0bac --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts @@ -0,0 +1,279 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceMyDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + AccessReviewInstanceMyDecisionsListNextOptionalParams, + AccessReviewInstanceMyDecisionsListOptionalParams, + AccessReviewInstanceMyDecisionsListResponse, + AccessReviewInstanceMyDecisionsGetByIdOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdResponse, + AccessReviewDecisionProperties, + AccessReviewInstanceMyDecisionsPatchOptionalParams, + AccessReviewInstanceMyDecisionsPatchResponse, + AccessReviewInstanceMyDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceMyDecisions operations. */ +export class AccessReviewInstanceMyDecisionsImpl + implements AccessReviewInstanceMyDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceMyDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * 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 options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceMyDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * 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 options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + decisionId: string, + options?: AccessReviewInstanceMyDecisionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, decisionId, options }, + getByIdOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + patch( + scheduleDefinitionId: string, + id: string, + decisionId: string, + properties: AccessReviewDecisionProperties, + options?: AccessReviewInstanceMyDecisionsPatchOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, decisionId, properties, options }, + patchOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceMyDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions/{decisionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecision + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.decisionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const patchOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions/{decisionId}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecision + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties5, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.decisionId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts new file mode 100644 index 000000000000..f05466471bf4 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts @@ -0,0 +1,221 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AccessReviewInstanceOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstanceStopOptionalParams, + AccessReviewInstanceResetDecisionsOptionalParams, + AccessReviewInstanceApplyDecisionsOptionalParams, + AccessReviewInstanceSendRemindersOptionalParams, + AccessReviewInstanceAcceptRecommendationsOptionalParams +} from "../models"; + +/** Class containing AccessReviewInstanceOperations operations. */ +export class AccessReviewInstanceOperationsImpl + implements AccessReviewInstanceOperations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceOperations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * 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 options The options parameters. + */ + stop( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + stopOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + resetDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceResetDecisionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + resetDecisionsOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + applyDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceApplyDecisionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + applyDecisionsOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + sendReminders( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceSendRemindersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + sendRemindersOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + acceptRecommendations( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceAcceptRecommendationsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + acceptRecommendationsOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/stop", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const resetDecisionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/resetDecisions", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const applyDecisionsOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/applyDecisions", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const sendRemindersOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/sendReminders", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const acceptRecommendationsOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/acceptRecommendations", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts new file mode 100644 index 000000000000..72b843604fe5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts @@ -0,0 +1,264 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + AccessReviewInstancesListNextOptionalParams, + AccessReviewInstancesListOptionalParams, + AccessReviewInstancesListResponse, + AccessReviewInstancesGetByIdOptionalParams, + AccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + AccessReviewInstancesCreateOptionalParams, + AccessReviewInstancesCreateResponse, + AccessReviewInstancesListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstances operations. */ +export class AccessReviewInstancesImpl implements AccessReviewInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * Update access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: AccessReviewInstancesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, properties, options }, + createOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + nextLink: string, + options?: AccessReviewInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts new file mode 100644 index 000000000000..0e1f800a7fb1 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts @@ -0,0 +1,213 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstancesAssignedForMyApproval } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams, + AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + AccessReviewInstancesAssignedForMyApprovalListResponse, + AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdResponse, + AccessReviewInstancesAssignedForMyApprovalListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstancesAssignedForMyApproval operations. */ +export class AccessReviewInstancesAssignedForMyApprovalImpl + implements AccessReviewInstancesAssignedForMyApproval { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstancesAssignedForMyApproval class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstancesAssignedForMyApprovalListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + nextLink: string, + options?: AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scheduleDefinitionId], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..aa19468e11dd --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts @@ -0,0 +1,307 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewScheduleDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsListNextOptionalParams, + AccessReviewScheduleDefinitionsListOptionalParams, + AccessReviewScheduleDefinitionsListResponse, + AccessReviewScheduleDefinitionsGetByIdOptionalParams, + AccessReviewScheduleDefinitionsGetByIdResponse, + AccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + AccessReviewScheduleDefinitionsStopOptionalParams, + AccessReviewScheduleDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewScheduleDefinitions operations. */ +export class AccessReviewScheduleDefinitionsImpl + implements AccessReviewScheduleDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewScheduleDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + public list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewScheduleDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewScheduleDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + private _list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Get single access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * Delete access review schedule definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + deleteByIdOperationSpec + ); + } + + /** + * 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 options The options parameters. + */ + createOrUpdateById( + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, properties, options }, + createOrUpdateByIdOperationSpec + ); + } + + /** + * Stop access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + stopOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: AccessReviewScheduleDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateByIdOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/stop", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts similarity index 53% rename from sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts rename to sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts index dfeb509f2be9..81a3b4d5399c 100644 --- a/sdk/authorization/arm-authorization/src/operations/providerOperationsMetadataOperations.ts +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts @@ -8,29 +8,27 @@ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; import { setContinuationToken } from "../pagingHelper"; -import { ProviderOperationsMetadataOperations } from "../operationsInterfaces"; +import { AccessReviewScheduleDefinitionsAssignedForMyApproval } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AuthorizationManagementClient } from "../authorizationManagementClient"; import { - ProviderOperationsMetadata, - ProviderOperationsMetadataListNextOptionalParams, - ProviderOperationsMetadataListOptionalParams, - ProviderOperationsMetadataListResponse, - ProviderOperationsMetadataGetOptionalParams, - ProviderOperationsMetadataGetResponse, - ProviderOperationsMetadataListNextResponse + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse } from "../models"; /// -/** Class containing ProviderOperationsMetadataOperations operations. */ -export class ProviderOperationsMetadataOperationsImpl - implements ProviderOperationsMetadataOperations { +/** Class containing AccessReviewScheduleDefinitionsAssignedForMyApproval operations. */ +export class AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApproval { private readonly client: AuthorizationManagementClient; /** - * Initialize a new instance of the class ProviderOperationsMetadataOperations class. + * Initialize a new instance of the class AccessReviewScheduleDefinitionsAssignedForMyApproval class. * @param client Reference to the service client */ constructor(client: AuthorizationManagementClient) { @@ -38,12 +36,12 @@ export class ProviderOperationsMetadataOperationsImpl } /** - * Gets provider operations metadata for all resource providers. + * Get access review instances assigned for my approval. * @param options The options parameters. */ public list( - options?: ProviderOperationsMetadataListOptionalParams - ): PagedAsyncIterableIterator { + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator { const iter = this.listPagingAll(options); return { next() { @@ -62,10 +60,10 @@ export class ProviderOperationsMetadataOperationsImpl } private async *listPagingPage( - options?: ProviderOperationsMetadataListOptionalParams, + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams, settings?: PageSettings - ): AsyncIterableIterator { - let result: ProviderOperationsMetadataListResponse; + ): AsyncIterableIterator { + let result: AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._list(options); @@ -84,35 +82,20 @@ export class ProviderOperationsMetadataOperationsImpl } private async *listPagingAll( - options?: ProviderOperationsMetadataListOptionalParams - ): AsyncIterableIterator { + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { for await (const page of this.listPagingPage(options)) { yield* page; } } /** - * Gets provider operations metadata for the specified resource provider. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param options The options parameters. - */ - get( - resourceProviderNamespace: string, - options?: ProviderOperationsMetadataGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceProviderNamespace, options }, - getOperationSpec - ); - } - - /** - * Gets provider operations metadata for all resource providers. + * Get access review instances assigned for my approval. * @param options The options parameters. */ private _list( - options?: ProviderOperationsMetadataListOptionalParams - ): Promise { + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): Promise { return this.client.sendOperationRequest({ options }, listOperationSpec); } @@ -123,8 +106,10 @@ export class ProviderOperationsMetadataOperationsImpl */ private _listNext( nextLink: string, - options?: ProviderOperationsMetadataListNextOptionalParams - ): Promise { + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams + ): Promise< + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse + > { return this.client.sendOperationRequest( { nextLink, options }, listNextOperationSpec @@ -134,35 +119,18 @@ export class ProviderOperationsMetadataOperationsImpl // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); -const getOperationSpec: coreClient.OperationSpec = { - path: - "/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.ProviderOperationsMetadata - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.expand], - urlParameters: [Parameters.$host, Parameters.resourceProviderNamespace], - headerParameters: [Parameters.accept], - serializer -}; const listOperationSpec: coreClient.OperationSpec = { - path: "/providers/Microsoft.Authorization/providerOperations", + path: "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProviderOperationsMetadataListResult + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult }, default: { - bodyMapper: Mappers.ErrorResponse + bodyMapper: Mappers.ErrorDefinition } }, - queryParameters: [Parameters.apiVersion1, Parameters.expand], + queryParameters: [Parameters.apiVersion, Parameters.filter], urlParameters: [Parameters.$host], headerParameters: [Parameters.accept], serializer @@ -172,10 +140,10 @@ const listNextOperationSpec: coreClient.OperationSpec = { httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ProviderOperationsMetadataListResult + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult }, default: { - bodyMapper: Mappers.ErrorResponse + bodyMapper: Mappers.ErrorDefinition } }, urlParameters: [Parameters.$host, Parameters.nextLink], diff --git a/sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts b/sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts new file mode 100644 index 000000000000..efe5ab788049 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts @@ -0,0 +1,240 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AlertConfigurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertConfiguration, + AlertConfigurationsListForScopeNextOptionalParams, + AlertConfigurationsListForScopeOptionalParams, + AlertConfigurationsListForScopeResponse, + AlertConfigurationsGetOptionalParams, + AlertConfigurationsGetResponse, + AlertConfigurationsUpdateOptionalParams, + AlertConfigurationsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing AlertConfigurations operations. */ +export class AlertConfigurationsImpl implements AlertConfigurations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertConfigurations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertConfigurationsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified alert configuration. + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertConfigurationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + getOperationSpec + ); + } + + /** + * Update an alert configuration. + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: AlertConfiguration, + options?: AlertConfigurationsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, parameters, options }, + updateOperationSpec + ); + } + + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert configuration. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: AlertConfigurationsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations/{alertId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertConfiguration + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations/{alertId}", + httpMethod: "PATCH", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters1, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertConfigurationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertConfigurationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts b/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts similarity index 58% rename from sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts rename to sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts index 32b38493aac7..55f470e3db40 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts +++ b/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts @@ -8,28 +8,28 @@ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; import { setContinuationToken } from "../pagingHelper"; -import { RoleAssignmentSchedules } from "../operationsInterfaces"; +import { AlertDefinitions } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AuthorizationManagementClient } from "../authorizationManagementClient"; import { - RoleAssignmentSchedule, - RoleAssignmentSchedulesListForScopeNextOptionalParams, - RoleAssignmentSchedulesListForScopeOptionalParams, - RoleAssignmentSchedulesListForScopeResponse, - RoleAssignmentSchedulesGetOptionalParams, - RoleAssignmentSchedulesGetResponse, - RoleAssignmentSchedulesListForScopeNextResponse + AlertDefinition, + AlertDefinitionsListForScopeNextOptionalParams, + AlertDefinitionsListForScopeOptionalParams, + AlertDefinitionsListForScopeResponse, + AlertDefinitionsGetOptionalParams, + AlertDefinitionsGetResponse, + AlertDefinitionsListForScopeNextResponse } from "../models"; /// -/** Class containing RoleAssignmentSchedules operations. */ -export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { +/** Class containing AlertDefinitions operations. */ +export class AlertDefinitionsImpl implements AlertDefinitions { private readonly client: AuthorizationManagementClient; /** - * Initialize a new instance of the class RoleAssignmentSchedules class. + * Initialize a new instance of the class AlertDefinitions class. * @param client Reference to the service client */ constructor(client: AuthorizationManagementClient) { @@ -37,14 +37,14 @@ export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { } /** - * Gets role assignment schedules for a resource scope. - * @param scope The scope of the role assignments schedules. + * Gets alert definitions for a resource scope. + * @param scope The scope of the alert definition. * @param options The options parameters. */ public listForScope( scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams - ): PagedAsyncIterableIterator { + options?: AlertDefinitionsListForScopeOptionalParams + ): PagedAsyncIterableIterator { const iter = this.listForScopePagingAll(scope, options); return { next() { @@ -64,10 +64,10 @@ export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { private async *listForScopePagingPage( scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams, + options?: AlertDefinitionsListForScopeOptionalParams, settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentSchedulesListForScopeResponse; + ): AsyncIterableIterator { + let result: AlertDefinitionsListForScopeResponse; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listForScope(scope, options); @@ -87,39 +87,45 @@ export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { private async *listForScopePagingAll( scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams - ): AsyncIterableIterator { + options?: AlertDefinitionsListForScopeOptionalParams + ): AsyncIterableIterator { for await (const page of this.listForScopePagingPage(scope, options)) { yield* page; } } /** - * 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. + * Get the specified alert definition. + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. * @param options The options parameters. */ get( scope: string, - roleAssignmentScheduleName: string, - options?: RoleAssignmentSchedulesGetOptionalParams - ): Promise { + alertDefinitionId: string, + options?: AlertDefinitionsGetOptionalParams + ): Promise { return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleName, options }, + { scope, alertDefinitionId, options }, getOperationSpec ); } /** - * Gets role assignment schedules for a resource scope. - * @param scope The scope of the role assignments schedules. + * Gets alert definitions for a resource scope. + * @param scope The scope of the alert definition. * @param options The options parameters. */ private _listForScope( scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams - ): Promise { + options?: AlertDefinitionsListForScopeOptionalParams + ): Promise { return this.client.sendOperationRequest( { scope, options }, listForScopeOperationSpec @@ -128,15 +134,15 @@ export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { /** * ListForScopeNext - * @param scope The scope of the role assignments schedules. + * @param scope The scope of the alert definition. * @param nextLink The nextLink from the previous successful call to the ListForScope method. * @param options The options parameters. */ private _listForScopeNext( scope: string, nextLink: string, - options?: RoleAssignmentSchedulesListForScopeNextOptionalParams - ): Promise { + options?: AlertDefinitionsListForScopeNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { scope, nextLink, options }, listForScopeNextOperationSpec @@ -148,38 +154,39 @@ const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); const getOperationSpec: coreClient.OperationSpec = { path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules/{roleAssignmentScheduleName}", + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertDefinitions/{alertDefinitionId}", httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentSchedule + bodyMapper: Mappers.AlertDefinition }, default: { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion1], urlParameters: [ Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleName + Parameters.scope1, + Parameters.alertDefinitionId ], headerParameters: [Parameters.accept], serializer }; const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleAssignmentSchedules", + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertDefinitions", httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentScheduleListResult + bodyMapper: Mappers.AlertDefinitionListResult }, default: { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], headerParameters: [Parameters.accept], serializer }; @@ -188,13 +195,13 @@ const listForScopeNextOperationSpec: coreClient.OperationSpec = { httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentScheduleListResult + bodyMapper: Mappers.AlertDefinitionListResult }, default: { bodyMapper: Mappers.CloudError } }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/authorization/arm-authorization/src/operations/alertIncidents.ts b/sdk/authorization/arm-authorization/src/operations/alertIncidents.ts new file mode 100644 index 000000000000..fbcea5cae521 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertIncidents.ts @@ -0,0 +1,272 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AlertIncidents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertIncident, + AlertIncidentsListForScopeNextOptionalParams, + AlertIncidentsListForScopeOptionalParams, + AlertIncidentsListForScopeResponse, + AlertIncidentsGetOptionalParams, + AlertIncidentsGetResponse, + AlertIncidentsRemediateOptionalParams, + AlertIncidentsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing AlertIncidents operations. */ +export class AlertIncidentsImpl implements AlertIncidents { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertIncidents class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + public listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, alertId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, alertId, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertIncidentsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, alertId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext( + scope, + alertId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage( + scope, + alertId, + options + )) { + yield* page; + } + } + + /** + * Get the specified alert incident. + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, alertIncidentId, options }, + getOperationSpec + ); + } + + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + listForScopeOperationSpec + ); + } + + /** + * Remediate an alert incident. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @param options The options parameters. + */ + remediate( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsRemediateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, alertIncidentId, options }, + remediateOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + alertId: string, + nextLink: string, + options?: AlertIncidentsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents/{alertIncidentId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertIncident + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.scope1, + Parameters.alertId, + Parameters.alertIncidentId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertIncidentListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept], + serializer +}; +const remediateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents/{alertIncidentId}/remediate", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [ + Parameters.$host, + Parameters.scope1, + Parameters.alertId, + Parameters.alertIncidentId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertIncidentListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scope1, + Parameters.alertId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/alertOperation.ts b/sdk/authorization/arm-authorization/src/operations/alertOperation.ts new file mode 100644 index 000000000000..a68ea99f8cb1 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertOperation.ts @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AlertOperation } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertOperationGetOptionalParams, + AlertOperationGetResponse +} from "../models"; + +/** Class containing AlertOperation operations. */ +export class AlertOperationImpl implements AlertOperation { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertOperation class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get the specified alert operation. + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @param options The options parameters. + */ + get( + scope: string, + operationId: string, + options?: AlertOperationGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, operationId, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertOperations/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertOperationResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.operationId], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/alerts.ts b/sdk/authorization/arm-authorization/src/operations/alerts.ts new file mode 100644 index 000000000000..0b38ed3adc8d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alerts.ts @@ -0,0 +1,478 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { Alerts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + Alert, + AlertsListForScopeNextOptionalParams, + AlertsListForScopeOptionalParams, + AlertsListForScopeResponse, + AlertsGetOptionalParams, + AlertsGetResponse, + AlertsUpdateOptionalParams, + AlertsRefreshOptionalParams, + AlertsRefreshResponse, + AlertsRefreshAllOptionalParams, + AlertsRefreshAllResponse, + AlertsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing Alerts operations. */ +export class AlertsImpl implements Alerts { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class Alerts class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: AlertsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified alert. + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + getOperationSpec + ); + } + + /** + * Update an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: Alert, + options?: AlertsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, parameters, options }, + updateOperationSpec + ); + } + + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + async beginRefresh( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { scope, alertId, options }, + spec: refreshOperationSpec + }); + const poller = await createHttpPoller< + AlertsRefreshResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + async beginRefreshAndWait( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise { + const poller = await this.beginRefresh(scope, alertId, options); + return poller.pollUntilDone(); + } + + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + async beginRefreshAll( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshAllResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { scope, options }, + spec: refreshAllOperationSpec + }); + const poller = await createHttpPoller< + AlertsRefreshAllResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + async beginRefreshAllAndWait( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise { + const poller = await this.beginRefreshAll(scope, options); + return poller.pollUntilDone(); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: AlertsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Alert + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}", + httpMethod: "PATCH", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.parameters, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], + headerParameters: [Parameters.accept], + serializer +}; +const refreshOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/refresh", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshHeaders + }, + 201: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshHeaders + }, + 202: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshHeaders + }, + 204: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1, Parameters.alertId], + headerParameters: [Parameters.accept], + serializer +}; +const refreshAllOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/refresh", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshAllHeaders + }, + 201: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshAllHeaders + }, + 202: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshAllHeaders + }, + 204: { + bodyMapper: Mappers.AlertOperationResult, + headersMapper: Mappers.AlertsRefreshAllHeaders + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts b/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts deleted file mode 100644 index e9461e7e36ed..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/denyAssignments.ts +++ /dev/null @@ -1,729 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { DenyAssignments } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - DenyAssignment, - DenyAssignmentsListForResourceNextOptionalParams, - DenyAssignmentsListForResourceOptionalParams, - DenyAssignmentsListForResourceResponse, - DenyAssignmentsListForResourceGroupNextOptionalParams, - DenyAssignmentsListForResourceGroupOptionalParams, - DenyAssignmentsListForResourceGroupResponse, - DenyAssignmentsListNextOptionalParams, - DenyAssignmentsListOptionalParams, - DenyAssignmentsListResponse, - DenyAssignmentsListForScopeNextOptionalParams, - DenyAssignmentsListForScopeOptionalParams, - DenyAssignmentsListForScopeResponse, - DenyAssignmentsGetOptionalParams, - DenyAssignmentsGetResponse, - DenyAssignmentsGetByIdOptionalParams, - DenyAssignmentsGetByIdResponse, - DenyAssignmentsListForResourceNextResponse, - DenyAssignmentsListForResourceGroupNextResponse, - DenyAssignmentsListNextResponse, - DenyAssignmentsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing DenyAssignments operations. */ -export class DenyAssignmentsImpl implements DenyAssignments { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class DenyAssignments class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * 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 options The options parameters. - */ - public listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: DenyAssignmentsListForResourceOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourcePagingAll( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - ); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options, - settings - ); - } - }; - } - - private async *listForResourcePagingPage( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: DenyAssignmentsListForResourceOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: DenyAssignmentsListForResourceResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResource( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - ); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceNext( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourcePagingAll( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: DenyAssignmentsListForResourceOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - )) { - yield* page; - } - } - - /** - * Gets deny assignments for a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - public listForResourceGroup( - resourceGroupName: string, - options?: DenyAssignmentsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourceGroupPagingAll(resourceGroupName, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourceGroupPagingPage( - resourceGroupName, - options, - settings - ); - } - }; - } - - private async *listForResourceGroupPagingPage( - resourceGroupName: string, - options?: DenyAssignmentsListForResourceGroupOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: DenyAssignmentsListForResourceGroupResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResourceGroup(resourceGroupName, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceGroupNext( - resourceGroupName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourceGroupPagingAll( - resourceGroupName: string, - options?: DenyAssignmentsListForResourceGroupOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourceGroupPagingPage( - resourceGroupName, - options - )) { - yield* page; - } - } - - /** - * Gets all deny assignments for the subscription. - * @param options The options parameters. - */ - public list( - options?: DenyAssignmentsListOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listPagingPage(options, settings); - } - }; - } - - private async *listPagingPage( - options?: DenyAssignmentsListOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: DenyAssignmentsListResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._list(options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listNext(continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listPagingAll( - options?: DenyAssignmentsListOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listPagingPage(options)) { - yield* page; - } - } - - /** - * Gets deny assignments for a scope. - * @param scope The scope of the deny assignments. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: DenyAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: DenyAssignmentsListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: DenyAssignmentsListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: DenyAssignmentsListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - private _listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: DenyAssignmentsListForResourceOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - }, - listForResourceOperationSpec - ); - } - - /** - * Gets deny assignments for a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - private _listForResourceGroup( - resourceGroupName: string, - options?: DenyAssignmentsListForResourceGroupOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, options }, - listForResourceGroupOperationSpec - ); - } - - /** - * Gets all deny assignments for the subscription. - * @param options The options parameters. - */ - private _list( - options?: DenyAssignmentsListOptionalParams - ): Promise { - return this.client.sendOperationRequest({ options }, listOperationSpec); - } - - /** - * Get the specified deny assignment. - * @param scope The scope of the deny assignment. - * @param denyAssignmentId The ID of the deny assignment to get. - * @param options The options parameters. - */ - get( - scope: string, - denyAssignmentId: string, - options?: DenyAssignmentsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, denyAssignmentId, options }, - getOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - getById( - denyAssignmentId: string, - options?: DenyAssignmentsGetByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { denyAssignmentId, options }, - getByIdOperationSpec - ); - } - - /** - * Gets deny assignments for a scope. - * @param scope The scope of the deny assignments. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: DenyAssignmentsListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * ListForResourceNext - * @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 nextLink The nextLink from the previous successful call to the ListForResource method. - * @param options The options parameters. - */ - private _listForResourceNext( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - nextLink: string, - options?: DenyAssignmentsListForResourceNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - nextLink, - options - }, - listForResourceNextOperationSpec - ); - } - - /** - * ListForResourceGroupNext - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method. - * @param options The options parameters. - */ - private _listForResourceGroupNext( - resourceGroupName: string, - nextLink: string, - options?: DenyAssignmentsListForResourceGroupNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, nextLink, options }, - listForResourceGroupNextOperationSpec - ); - } - - /** - * ListNext - * @param nextLink The nextLink from the previous successful call to the List method. - * @param options The options parameters. - */ - private _listNext( - nextLink: string, - options?: DenyAssignmentsListNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { nextLink, options }, - listNextOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the deny assignments. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: DenyAssignmentsListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listForResourceOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/denyAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/denyAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/denyAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.subscriptionId], - headerParameters: [Parameters.accept], - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.denyAssignmentId - ], - headerParameters: [Parameters.accept], - serializer -}; -const getByIdOperationSpec: coreClient.OperationSpec = { - path: "/{denyAssignmentId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [Parameters.$host, Parameters.denyAssignmentId1], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/denyAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.DenyAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts deleted file mode 100644 index 1625c78a74ae..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { EligibleChildResources } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - EligibleChildResource, - EligibleChildResourcesGetNextOptionalParams, - EligibleChildResourcesGetOptionalParams, - EligibleChildResourcesGetResponse, - EligibleChildResourcesGetNextResponse -} from "../models"; - -/// -/** Class containing EligibleChildResources operations. */ -export class EligibleChildResourcesImpl implements EligibleChildResources { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class EligibleChildResources class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Get the child resources of a resource on which user has eligible access - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - public list( - scope: string, - options?: EligibleChildResourcesGetOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.getPagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.getPagingPage(scope, options, settings); - } - }; - } - - private async *getPagingPage( - scope: string, - options?: EligibleChildResourcesGetOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: EligibleChildResourcesGetResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._get(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._getNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *getPagingAll( - scope: string, - options?: EligibleChildResourcesGetOptionalParams - ): AsyncIterableIterator { - for await (const page of this.getPagingPage(scope, options)) { - yield* page; - } - } - - /** - * Get the child resources of a resource on which user has eligible access - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - private _get( - scope: string, - options?: EligibleChildResourcesGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - getOperationSpec - ); - } - - /** - * GetNext - * @param scope The scope of the role management policy. - * @param nextLink The nextLink from the previous successful call to the Get method. - * @param options The options parameters. - */ - private _getNext( - scope: string, - nextLink: string, - options?: EligibleChildResourcesGetNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - getNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/eligibleChildResources", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.EligibleChildResourcesListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const getNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.EligibleChildResourcesListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts b/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts deleted file mode 100644 index 7b8209157c7c..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/globalAdministrator.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { GlobalAdministrator } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { GlobalAdministratorElevateAccessOptionalParams } from "../models"; - -/** Class containing GlobalAdministrator operations. */ -export class GlobalAdministratorImpl implements GlobalAdministrator { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class GlobalAdministrator class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Elevates access for a Global Administrator. - * @param options The options parameters. - */ - elevateAccess( - options?: GlobalAdministratorElevateAccessOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { options }, - elevateAccessOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const elevateAccessOperationSpec: coreClient.OperationSpec = { - path: "/providers/Microsoft.Authorization/elevateAccess", - httpMethod: "POST", - responses: { - 200: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/index.ts b/sdk/authorization/arm-authorization/src/operations/index.ts index e33e8ff3e2a0..dc6d3b3df2f9 100644 --- a/sdk/authorization/arm-authorization/src/operations/index.ts +++ b/sdk/authorization/arm-authorization/src/operations/index.ts @@ -6,19 +6,33 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./classicAdministrators"; -export * from "./globalAdministrator"; -export * from "./denyAssignments"; -export * from "./providerOperationsMetadataOperations"; -export * from "./roleAssignments"; -export * from "./permissions"; -export * from "./roleDefinitions"; -export * from "./eligibleChildResources"; -export * from "./roleAssignmentSchedules"; -export * from "./roleAssignmentScheduleInstances"; -export * from "./roleAssignmentScheduleRequests"; -export * from "./roleEligibilitySchedules"; -export * from "./roleEligibilityScheduleInstances"; -export * from "./roleEligibilityScheduleRequests"; -export * from "./roleManagementPolicies"; -export * from "./roleManagementPolicyAssignments"; +export * from "./operations"; +export * from "./accessReviewHistoryDefinitions"; +export * from "./accessReviewHistoryDefinitionOperations"; +export * from "./accessReviewHistoryDefinitionInstance"; +export * from "./accessReviewHistoryDefinitionInstances"; +export * from "./accessReviewScheduleDefinitions"; +export * from "./accessReviewInstances"; +export * from "./accessReviewInstanceOperations"; +export * from "./accessReviewInstanceDecisions"; +export * from "./accessReviewInstanceContactedReviewers"; +export * from "./accessReviewDefaultSettingsOperations"; +export * from "./scopeAccessReviewHistoryDefinitions"; +export * from "./scopeAccessReviewHistoryDefinition"; +export * from "./scopeAccessReviewHistoryDefinitionInstance"; +export * from "./scopeAccessReviewHistoryDefinitionInstances"; +export * from "./scopeAccessReviewScheduleDefinitions"; +export * from "./scopeAccessReviewInstances"; +export * from "./scopeAccessReviewInstance"; +export * from "./scopeAccessReviewInstanceDecisions"; +export * from "./scopeAccessReviewInstanceContactedReviewers"; +export * from "./scopeAccessReviewDefaultSettings"; +export * from "./accessReviewScheduleDefinitionsAssignedForMyApproval"; +export * from "./accessReviewInstancesAssignedForMyApproval"; +export * from "./accessReviewInstanceMyDecisions"; +export * from "./tenantLevelAccessReviewInstanceContactedReviewers"; +export * from "./alerts"; +export * from "./alertConfigurations"; +export * from "./alertDefinitions"; +export * from "./alertIncidents"; +export * from "./alertOperation"; diff --git a/sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts b/sdk/authorization/arm-authorization/src/operations/operations.ts similarity index 64% rename from sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts rename to sdk/authorization/arm-authorization/src/operations/operations.ts index 0f704c96ddd1..6c30b6bf573b 100644 --- a/sdk/authorization/arm-authorization/src/operations/classicAdministrators.ts +++ b/sdk/authorization/arm-authorization/src/operations/operations.ts @@ -8,26 +8,26 @@ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; import { setContinuationToken } from "../pagingHelper"; -import { ClassicAdministrators } from "../operationsInterfaces"; +import { Operations } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { AuthorizationManagementClient } from "../authorizationManagementClient"; import { - ClassicAdministrator, - ClassicAdministratorsListNextOptionalParams, - ClassicAdministratorsListOptionalParams, - ClassicAdministratorsListResponse, - ClassicAdministratorsListNextResponse + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse } from "../models"; /// -/** Class containing ClassicAdministrators operations. */ -export class ClassicAdministratorsImpl implements ClassicAdministrators { +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { private readonly client: AuthorizationManagementClient; /** - * Initialize a new instance of the class ClassicAdministrators class. + * Initialize a new instance of the class Operations class. * @param client Reference to the service client */ constructor(client: AuthorizationManagementClient) { @@ -35,12 +35,12 @@ export class ClassicAdministratorsImpl implements ClassicAdministrators { } /** - * Gets service administrator, account administrator, and co-administrators for the subscription. + * Lists the operations available from this provider. * @param options The options parameters. */ public list( - options?: ClassicAdministratorsListOptionalParams - ): PagedAsyncIterableIterator { + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { const iter = this.listPagingAll(options); return { next() { @@ -59,10 +59,10 @@ export class ClassicAdministratorsImpl implements ClassicAdministrators { } private async *listPagingPage( - options?: ClassicAdministratorsListOptionalParams, + options?: OperationsListOptionalParams, settings?: PageSettings - ): AsyncIterableIterator { - let result: ClassicAdministratorsListResponse; + ): AsyncIterableIterator { + let result: OperationsListResponse; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._list(options); @@ -81,20 +81,20 @@ export class ClassicAdministratorsImpl implements ClassicAdministrators { } private async *listPagingAll( - options?: ClassicAdministratorsListOptionalParams - ): AsyncIterableIterator { + options?: OperationsListOptionalParams + ): AsyncIterableIterator { for await (const page of this.listPagingPage(options)) { yield* page; } } /** - * Gets service administrator, account administrator, and co-administrators for the subscription. + * Lists the operations available from this provider. * @param options The options parameters. */ private _list( - options?: ClassicAdministratorsListOptionalParams - ): Promise { + options?: OperationsListOptionalParams + ): Promise { return this.client.sendOperationRequest({ options }, listOperationSpec); } @@ -105,8 +105,8 @@ export class ClassicAdministratorsImpl implements ClassicAdministrators { */ private _listNext( nextLink: string, - options?: ClassicAdministratorsListNextOptionalParams - ): Promise { + options?: OperationsListNextOptionalParams + ): Promise { return this.client.sendOperationRequest( { nextLink, options }, listNextOperationSpec @@ -117,19 +117,18 @@ export class ClassicAdministratorsImpl implements ClassicAdministrators { const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); const listOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", + path: "/providers/Microsoft.Authorization/operations", httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ClassicAdministratorListResult + bodyMapper: Mappers.OperationListResult }, default: { - bodyMapper: Mappers.ErrorResponse + bodyMapper: Mappers.ErrorDefinition } }, queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host, Parameters.subscriptionId], + urlParameters: [Parameters.$host], headerParameters: [Parameters.accept], serializer }; @@ -138,17 +137,13 @@ const listNextOperationSpec: coreClient.OperationSpec = { httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.ClassicAdministratorListResult + bodyMapper: Mappers.OperationListResult }, default: { - bodyMapper: Mappers.ErrorResponse + bodyMapper: Mappers.ErrorDefinition } }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink - ], + urlParameters: [Parameters.$host, Parameters.nextLink], headerParameters: [Parameters.accept], serializer }; diff --git a/sdk/authorization/arm-authorization/src/operations/permissions.ts b/sdk/authorization/arm-authorization/src/operations/permissions.ts deleted file mode 100644 index 94a36834f2cf..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/permissions.ts +++ /dev/null @@ -1,408 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { Permissions } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - Permission, - PermissionsListForResourceGroupNextOptionalParams, - PermissionsListForResourceGroupOptionalParams, - PermissionsListForResourceGroupResponse, - PermissionsListForResourceNextOptionalParams, - PermissionsListForResourceOptionalParams, - PermissionsListForResourceResponse, - PermissionsListForResourceGroupNextResponse, - PermissionsListForResourceNextResponse -} from "../models"; - -/// -/** Class containing Permissions operations. */ -export class PermissionsImpl implements Permissions { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class Permissions class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets all permissions the caller has for a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - public listForResourceGroup( - resourceGroupName: string, - options?: PermissionsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourceGroupPagingAll(resourceGroupName, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourceGroupPagingPage( - resourceGroupName, - options, - settings - ); - } - }; - } - - private async *listForResourceGroupPagingPage( - resourceGroupName: string, - options?: PermissionsListForResourceGroupOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: PermissionsListForResourceGroupResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResourceGroup(resourceGroupName, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceGroupNext( - resourceGroupName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourceGroupPagingAll( - resourceGroupName: string, - options?: PermissionsListForResourceGroupOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourceGroupPagingPage( - resourceGroupName, - options - )) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - public listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: PermissionsListForResourceOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourcePagingAll( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - ); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options, - settings - ); - } - }; - } - - private async *listForResourcePagingPage( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: PermissionsListForResourceOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: PermissionsListForResourceResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResource( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - ); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceNext( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourcePagingAll( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: PermissionsListForResourceOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - )) { - yield* page; - } - } - - /** - * Gets all permissions the caller has for a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - private _listForResourceGroup( - resourceGroupName: string, - options?: PermissionsListForResourceGroupOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, options }, - listForResourceGroupOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - private _listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: PermissionsListForResourceOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - options - }, - listForResourceOperationSpec - ); - } - - /** - * ListForResourceGroupNext - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method. - * @param options The options parameters. - */ - private _listForResourceGroupNext( - resourceGroupName: string, - nextLink: string, - options?: PermissionsListForResourceGroupNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, nextLink, options }, - listForResourceGroupNextOperationSpec - ); - } - - /** - * ListForResourceNext - * @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 nextLink The nextLink from the previous successful call to the ListForResource method. - * @param options The options parameters. - */ - private _listForResourceNext( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - nextLink: string, - options?: PermissionsListForResourceNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - parentResourcePath, - resourceType, - resourceName, - nextLink, - options - }, - listForResourceNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listForResourceGroupOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.PermissionGetResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.parentResourcePath, - Parameters.resourceType, - Parameters.resourceName - ], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts deleted file mode 100644 index 7a6e1564e7e8..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleAssignmentScheduleInstances } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleAssignmentScheduleInstance, - RoleAssignmentScheduleInstancesListForScopeNextOptionalParams, - RoleAssignmentScheduleInstancesListForScopeOptionalParams, - RoleAssignmentScheduleInstancesListForScopeResponse, - RoleAssignmentScheduleInstancesGetOptionalParams, - RoleAssignmentScheduleInstancesGetResponse, - RoleAssignmentScheduleInstancesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignmentScheduleInstances operations. */ -export class RoleAssignmentScheduleInstancesImpl - implements RoleAssignmentScheduleInstances { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleAssignmentScheduleInstances class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role assignment schedule instances of a role assignment schedule. - * @param scope The scope of the role assignment schedule. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentScheduleInstancesListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * Gets role assignment schedule instances of a role assignment schedule. - * @param scope The scope of the role assignment schedule. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentScheduleInstanceName: string, - options?: RoleAssignmentScheduleInstancesGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleInstanceName, options }, - getOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role assignment schedule. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleAssignmentScheduleInstancesListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleInstanceListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleInstances/{roleAssignmentScheduleInstanceName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleInstance - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleInstanceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleInstanceListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts deleted file mode 100644 index e68830a92424..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleAssignmentScheduleRequests } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleAssignmentScheduleRequest, - RoleAssignmentScheduleRequestsListForScopeNextOptionalParams, - RoleAssignmentScheduleRequestsListForScopeOptionalParams, - RoleAssignmentScheduleRequestsListForScopeResponse, - RoleAssignmentScheduleRequestsCreateOptionalParams, - RoleAssignmentScheduleRequestsCreateResponse, - RoleAssignmentScheduleRequestsGetOptionalParams, - RoleAssignmentScheduleRequestsGetResponse, - RoleAssignmentScheduleRequestsCancelOptionalParams, - RoleAssignmentScheduleRequestsValidateOptionalParams, - RoleAssignmentScheduleRequestsValidateResponse, - RoleAssignmentScheduleRequestsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignmentScheduleRequests operations. */ -export class RoleAssignmentScheduleRequestsImpl - implements RoleAssignmentScheduleRequests { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleAssignmentScheduleRequests class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role assignment schedule requests for a scope. - * @param scope The scope of the role assignments schedule requests. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentScheduleRequestsListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/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 options The options parameters. - */ - create( - scope: string, - roleAssignmentScheduleRequestName: string, - parameters: RoleAssignmentScheduleRequest, - options?: RoleAssignmentScheduleRequestsCreateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleRequestName, parameters, options }, - createOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentScheduleRequestName: string, - options?: RoleAssignmentScheduleRequestsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleRequestName, options }, - getOperationSpec - ); - } - - /** - * Gets role assignment schedule requests for a scope. - * @param scope The scope of the role assignments schedule requests. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - cancel( - scope: string, - roleAssignmentScheduleRequestName: string, - options?: RoleAssignmentScheduleRequestsCancelOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleRequestName, options }, - cancelOperationSpec - ); - } - - /** - * Validates a new role assignment schedule request. - * @param scope The scope of the role assignment request to validate. - * @param roleAssignmentScheduleRequestName The name of the role assignment request to validate. - * @param parameters Parameters for the role assignment schedule request. - * @param options The options parameters. - */ - validate( - scope: string, - roleAssignmentScheduleRequestName: string, - parameters: RoleAssignmentScheduleRequest, - options?: RoleAssignmentScheduleRequestsValidateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentScheduleRequestName, parameters, options }, - validateOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role assignments schedule requests. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleAssignmentScheduleRequestsListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const createOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}", - httpMethod: "PUT", - responses: { - 201: { - bodyMapper: Mappers.RoleAssignmentScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters1, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleRequestName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const cancelOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}/cancel", - httpMethod: "POST", - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const validateOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}/validate", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters1, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleRequestName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts deleted file mode 100644 index aa6ff2403982..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts +++ /dev/null @@ -1,921 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleAssignments } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleAssignment, - RoleAssignmentsListForSubscriptionNextOptionalParams, - RoleAssignmentsListForSubscriptionOptionalParams, - RoleAssignmentsListForSubscriptionResponse, - RoleAssignmentsListForResourceGroupNextOptionalParams, - RoleAssignmentsListForResourceGroupOptionalParams, - RoleAssignmentsListForResourceGroupResponse, - RoleAssignmentsListForResourceNextOptionalParams, - RoleAssignmentsListForResourceOptionalParams, - RoleAssignmentsListForResourceResponse, - RoleAssignmentsListForScopeNextOptionalParams, - RoleAssignmentsListForScopeOptionalParams, - RoleAssignmentsListForScopeResponse, - RoleAssignmentsGetOptionalParams, - RoleAssignmentsGetResponse, - RoleAssignmentCreateParameters, - RoleAssignmentsCreateOptionalParams, - RoleAssignmentsCreateResponse, - RoleAssignmentsDeleteOptionalParams, - RoleAssignmentsDeleteResponse, - RoleAssignmentsGetByIdOptionalParams, - RoleAssignmentsGetByIdResponse, - RoleAssignmentsCreateByIdOptionalParams, - RoleAssignmentsCreateByIdResponse, - RoleAssignmentsDeleteByIdOptionalParams, - RoleAssignmentsDeleteByIdResponse, - RoleAssignmentsListForSubscriptionNextResponse, - RoleAssignmentsListForResourceGroupNextResponse, - RoleAssignmentsListForResourceNextResponse, - RoleAssignmentsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignments operations. */ -export class RoleAssignmentsImpl implements RoleAssignments { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleAssignments class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * List all role assignments that apply to a subscription. - * @param options The options parameters. - */ - public listForSubscription( - options?: RoleAssignmentsListForSubscriptionOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForSubscriptionPagingAll(options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForSubscriptionPagingPage(options, settings); - } - }; - } - - private async *listForSubscriptionPagingPage( - options?: RoleAssignmentsListForSubscriptionOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentsListForSubscriptionResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForSubscription(options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForSubscriptionNext(continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForSubscriptionPagingAll( - options?: RoleAssignmentsListForSubscriptionOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForSubscriptionPagingPage(options)) { - yield* page; - } - } - - /** - * List all role assignments that apply to a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - public listForResourceGroup( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourceGroupPagingAll(resourceGroupName, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourceGroupPagingPage( - resourceGroupName, - options, - settings - ); - } - }; - } - - private async *listForResourceGroupPagingPage( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentsListForResourceGroupResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResourceGroup(resourceGroupName, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceGroupNext( - resourceGroupName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourceGroupPagingAll( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourceGroupPagingPage( - resourceGroupName, - options - )) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - public listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForResourcePagingAll( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - ); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options, - settings - ); - } - }; - } - - private async *listForResourcePagingPage( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentsListForResourceResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForResource( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - ); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForResourceNext( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - continuationToken, - options - ); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForResourcePagingAll( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - )) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleAssignmentsListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * List all role assignments that apply to a subscription. - * @param options The options parameters. - */ - private _listForSubscription( - options?: RoleAssignmentsListForSubscriptionOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { options }, - listForSubscriptionOperationSpec - ); - } - - /** - * List all role assignments that apply to a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - private _listForResourceGroup( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, options }, - listForResourceGroupOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - private _listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - }, - listForResourceOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentName: string, - options?: RoleAssignmentsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentName, options }, - getOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - create( - scope: string, - roleAssignmentName: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsCreateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentName, parameters, options }, - createOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleAssignmentName: string, - options?: RoleAssignmentsDeleteOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentName, options }, - deleteOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param options The options parameters. - */ - getById( - roleAssignmentId: string, - options?: RoleAssignmentsGetByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { roleAssignmentId, options }, - getByIdOperationSpec - ); - } - - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - createById( - roleAssignmentId: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsCreateByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { roleAssignmentId, parameters, options }, - createByIdOperationSpec - ); - } - - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param options The options parameters. - */ - deleteById( - roleAssignmentId: string, - options?: RoleAssignmentsDeleteByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { roleAssignmentId, options }, - deleteByIdOperationSpec - ); - } - - /** - * ListForSubscriptionNext - * @param nextLink The nextLink from the previous successful call to the ListForSubscription method. - * @param options The options parameters. - */ - private _listForSubscriptionNext( - nextLink: string, - options?: RoleAssignmentsListForSubscriptionNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { nextLink, options }, - listForSubscriptionNextOperationSpec - ); - } - - /** - * ListForResourceGroupNext - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param nextLink The nextLink from the previous successful call to the ListForResourceGroup method. - * @param options The options parameters. - */ - private _listForResourceGroupNext( - resourceGroupName: string, - nextLink: string, - options?: RoleAssignmentsListForResourceGroupNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { resourceGroupName, nextLink, options }, - listForResourceGroupNextOperationSpec - ); - } - - /** - * ListForResourceNext - * @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 nextLink The nextLink from the previous successful call to the ListForResource method. - * @param options The options parameters. - */ - private _listForResourceNext( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - nextLink: string, - options?: RoleAssignmentsListForResourceNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - nextLink, - options - }, - listForResourceNextOperationSpec - ); - } - - /** - * ListForScopeNext - * @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 nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleAssignmentsListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listForSubscriptionOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion1, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [Parameters.$host, Parameters.subscriptionId], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion1, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceOperationSpec: coreClient.OperationSpec = { - path: - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion1, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.resourceType, - Parameters.resourceName1 - ], - headerParameters: [Parameters.accept], - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.tenantId], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentName - ], - headerParameters: [Parameters.accept], - serializer -}; -const createOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - 201: { - bodyMapper: Mappers.RoleAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - requestBody: Parameters.parameters, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const deleteOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}", - httpMethod: "DELETE", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.tenantId], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion1, - Parameters.filter1, - Parameters.tenantId, - Parameters.skipToken - ], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const getByIdOperationSpec: coreClient.OperationSpec = { - path: "/{roleAssignmentId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.tenantId], - urlParameters: [Parameters.$host, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept], - serializer -}; -const createByIdOperationSpec: coreClient.OperationSpec = { - path: "/{roleAssignmentId}", - httpMethod: "PUT", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - 201: { - bodyMapper: Mappers.RoleAssignment - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - requestBody: Parameters.parameters, - queryParameters: [Parameters.apiVersion1], - urlParameters: [Parameters.$host, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const deleteByIdOperationSpec: coreClient.OperationSpec = { - path: "/{roleAssignmentId}", - httpMethod: "DELETE", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignment - }, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.tenantId], - urlParameters: [Parameters.$host, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept], - serializer -}; -const listForSubscriptionNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.nextLink, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.resourceType, - Parameters.resourceName1 - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts deleted file mode 100644 index 35f5dd01b117..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts +++ /dev/null @@ -1,322 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleDefinitions } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleDefinition, - RoleDefinitionsListNextOptionalParams, - RoleDefinitionsListOptionalParams, - RoleDefinitionsListResponse, - RoleDefinitionsDeleteOptionalParams, - RoleDefinitionsDeleteResponse, - RoleDefinitionsGetOptionalParams, - RoleDefinitionsGetResponse, - RoleDefinitionsCreateOrUpdateOptionalParams, - RoleDefinitionsCreateOrUpdateResponse, - RoleDefinitionsGetByIdOptionalParams, - RoleDefinitionsGetByIdResponse, - RoleDefinitionsListNextResponse -} from "../models"; - -/// -/** Class containing RoleDefinitions operations. */ -export class RoleDefinitionsImpl implements RoleDefinitions { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleDefinitions class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. - * @param options The options parameters. - */ - public list( - scope: string, - options?: RoleDefinitionsListOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listPagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listPagingPage(scope, options, settings); - } - }; - } - - private async *listPagingPage( - scope: string, - options?: RoleDefinitionsListOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleDefinitionsListResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._list(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listPagingAll( - scope: string, - options?: RoleDefinitionsListOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listPagingPage(scope, options)) { - yield* page; - } - } - - /** - * Deletes a role definition. - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition to delete. - * @param options The options parameters. - */ - delete( - scope: string, - roleDefinitionId: string, - options?: RoleDefinitionsDeleteOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleDefinitionId, options }, - deleteOperationSpec - ); - } - - /** - * Get role definition by name (GUID). - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param options The options parameters. - */ - get( - scope: string, - roleDefinitionId: string, - options?: RoleDefinitionsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleDefinitionId, options }, - getOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - createOrUpdate( - scope: string, - roleDefinitionId: string, - roleDefinition: RoleDefinition, - options?: RoleDefinitionsCreateOrUpdateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleDefinitionId, roleDefinition, options }, - createOrUpdateOperationSpec - ); - } - - /** - * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. - * @param options The options parameters. - */ - private _list( - scope: string, - options?: RoleDefinitionsListOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - getById( - roleId: string, - options?: RoleDefinitionsGetByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { roleId, options }, - getByIdOperationSpec - ); - } - - /** - * ListNext - * @param scope The scope of the role definition. - * @param nextLink The nextLink from the previous successful call to the List method. - * @param options The options parameters. - */ - private _listNext( - scope: string, - nextLink: string, - options?: RoleDefinitionsListNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const deleteOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - httpMethod: "DELETE", - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - 204: {}, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleDefinitionId - ], - headerParameters: [Parameters.accept], - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleDefinitionId - ], - headerParameters: [Parameters.accept], - serializer -}; -const createOrUpdateOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}", - httpMethod: "PUT", - responses: { - 201: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - requestBody: Parameters.roleDefinition, - queryParameters: [Parameters.apiVersion1], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleDefinitionId - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const listOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleDefinitions", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleDefinitionListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const getByIdOperationSpec: coreClient.OperationSpec = { - path: "/{roleId}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleDefinition - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [Parameters.apiVersion1], - urlParameters: [Parameters.$host, Parameters.roleId], - headerParameters: [Parameters.accept], - serializer -}; -const listNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleDefinitionListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts deleted file mode 100644 index ea7c0e1d5351..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleEligibilityScheduleInstances } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleEligibilityScheduleInstance, - RoleEligibilityScheduleInstancesListForScopeNextOptionalParams, - RoleEligibilityScheduleInstancesListForScopeOptionalParams, - RoleEligibilityScheduleInstancesListForScopeResponse, - RoleEligibilityScheduleInstancesGetOptionalParams, - RoleEligibilityScheduleInstancesGetResponse, - RoleEligibilityScheduleInstancesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilityScheduleInstances operations. */ -export class RoleEligibilityScheduleInstancesImpl - implements RoleEligibilityScheduleInstances { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleEligibilityScheduleInstances class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role eligibility schedule instances of a role eligibility schedule. - * @param scope The scope of the role eligibility schedule. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleEligibilityScheduleInstancesListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * Gets role eligibility schedule instances of a role eligibility schedule. - * @param scope The scope of the role eligibility schedule. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleInstanceName: string, - options?: RoleEligibilityScheduleInstancesGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleInstanceName, options }, - getOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role eligibility schedule. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleEligibilityScheduleInstancesListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleInstanceListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleInstances/{roleEligibilityScheduleInstanceName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleInstance - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleInstanceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleInstanceListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts deleted file mode 100644 index fb86abe0f782..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleEligibilityScheduleRequests } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleEligibilityScheduleRequest, - RoleEligibilityScheduleRequestsListForScopeNextOptionalParams, - RoleEligibilityScheduleRequestsListForScopeOptionalParams, - RoleEligibilityScheduleRequestsListForScopeResponse, - RoleEligibilityScheduleRequestsCreateOptionalParams, - RoleEligibilityScheduleRequestsCreateResponse, - RoleEligibilityScheduleRequestsGetOptionalParams, - RoleEligibilityScheduleRequestsGetResponse, - RoleEligibilityScheduleRequestsCancelOptionalParams, - RoleEligibilityScheduleRequestsValidateOptionalParams, - RoleEligibilityScheduleRequestsValidateResponse, - RoleEligibilityScheduleRequestsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilityScheduleRequests operations. */ -export class RoleEligibilityScheduleRequestsImpl - implements RoleEligibilityScheduleRequests { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleEligibilityScheduleRequests class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role eligibility schedule requests for a scope. - * @param scope The scope of the role eligibility schedule requests. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleEligibilityScheduleRequestsListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/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 options The options parameters. - */ - create( - scope: string, - roleEligibilityScheduleRequestName: string, - parameters: RoleEligibilityScheduleRequest, - options?: RoleEligibilityScheduleRequestsCreateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleRequestName, parameters, options }, - createOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleRequestName: string, - options?: RoleEligibilityScheduleRequestsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleRequestName, options }, - getOperationSpec - ); - } - - /** - * Gets role eligibility schedule requests for a scope. - * @param scope The scope of the role eligibility schedule requests. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - cancel( - scope: string, - roleEligibilityScheduleRequestName: string, - options?: RoleEligibilityScheduleRequestsCancelOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleRequestName, options }, - cancelOperationSpec - ); - } - - /** - * Validates a new role eligibility schedule request. - * @param scope The scope of the role eligibility request to validate. - * @param roleEligibilityScheduleRequestName The name of the role eligibility request to validate. - * @param parameters Parameters for the role eligibility schedule request. - * @param options The options parameters. - */ - validate( - scope: string, - roleEligibilityScheduleRequestName: string, - parameters: RoleEligibilityScheduleRequest, - options?: RoleEligibilityScheduleRequestsValidateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleRequestName, parameters, options }, - validateOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role eligibility schedule requests. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleEligibilityScheduleRequestsListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const createOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}", - httpMethod: "PUT", - responses: { - 201: { - bodyMapper: Mappers.RoleEligibilityScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters2, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleRequestName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const cancelOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}/cancel", - httpMethod: "POST", - responses: { - 200: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const validateOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}/validate", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleRequest - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters2, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleRequestName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts deleted file mode 100644 index 7ff784eaaf07..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts +++ /dev/null @@ -1,200 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleEligibilitySchedules } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleEligibilitySchedule, - RoleEligibilitySchedulesListForScopeNextOptionalParams, - RoleEligibilitySchedulesListForScopeOptionalParams, - RoleEligibilitySchedulesListForScopeResponse, - RoleEligibilitySchedulesGetOptionalParams, - RoleEligibilitySchedulesGetResponse, - RoleEligibilitySchedulesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilitySchedules operations. */ -export class RoleEligibilitySchedulesImpl implements RoleEligibilitySchedules { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleEligibilitySchedules class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role eligibility schedules for a resource scope. - * @param scope The scope of the role eligibility schedules. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleEligibilitySchedulesListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleName: string, - options?: RoleEligibilitySchedulesGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleEligibilityScheduleName, options }, - getOperationSpec - ); - } - - /** - * Gets role eligibility schedules for a resource scope. - * @param scope The scope of the role eligibility schedules. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role eligibility schedules. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleEligibilitySchedulesListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules/{roleEligibilityScheduleName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilitySchedule - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleEligibilitySchedules", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts deleted file mode 100644 index 08fe8e31676a..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleManagementPolicies } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleManagementPolicy, - RoleManagementPoliciesListForScopeNextOptionalParams, - RoleManagementPoliciesListForScopeOptionalParams, - RoleManagementPoliciesListForScopeResponse, - RoleManagementPoliciesGetOptionalParams, - RoleManagementPoliciesGetResponse, - RoleManagementPoliciesUpdateOptionalParams, - RoleManagementPoliciesUpdateResponse, - RoleManagementPoliciesDeleteOptionalParams, - RoleManagementPoliciesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleManagementPolicies operations. */ -export class RoleManagementPoliciesImpl implements RoleManagementPolicies { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleManagementPolicies class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role management policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleManagementPoliciesListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleManagementPolicyName: string, - options?: RoleManagementPoliciesGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyName, options }, - getOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - update( - scope: string, - roleManagementPolicyName: string, - parameters: RoleManagementPolicy, - options?: RoleManagementPoliciesUpdateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyName, parameters, options }, - updateOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleManagementPolicyName: string, - options?: RoleManagementPoliciesDeleteOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyName, options }, - deleteOperationSpec - ); - } - - /** - * Gets role management policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role management policy. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleManagementPoliciesListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyName - ], - headerParameters: [Parameters.accept], - serializer -}; -const updateOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", - httpMethod: "PATCH", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicy - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters3, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const deleteOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies/{roleManagementPolicyName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleManagementPolicies", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicyListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicyListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts deleted file mode 100644 index f004a0573db5..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; -import { setContinuationToken } from "../pagingHelper"; -import { RoleManagementPolicyAssignments } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClient } from "../authorizationManagementClient"; -import { - RoleManagementPolicyAssignment, - RoleManagementPolicyAssignmentsListForScopeNextOptionalParams, - RoleManagementPolicyAssignmentsListForScopeOptionalParams, - RoleManagementPolicyAssignmentsListForScopeResponse, - RoleManagementPolicyAssignmentsGetOptionalParams, - RoleManagementPolicyAssignmentsGetResponse, - RoleManagementPolicyAssignmentsCreateOptionalParams, - RoleManagementPolicyAssignmentsCreateResponse, - RoleManagementPolicyAssignmentsDeleteOptionalParams, - RoleManagementPolicyAssignmentsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleManagementPolicyAssignments operations. */ -export class RoleManagementPolicyAssignmentsImpl - implements RoleManagementPolicyAssignments { - private readonly client: AuthorizationManagementClient; - - /** - * Initialize a new instance of the class RoleManagementPolicyAssignments class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClient) { - this.client = client; - } - - /** - * Gets role management assignment policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - public listForScope( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator { - const iter = this.listForScopePagingAll(scope, options); - return { - next() { - return iter.next(); - }, - [Symbol.asyncIterator]() { - return this; - }, - byPage: (settings?: PageSettings) => { - if (settings?.maxPageSize) { - throw new Error("maxPageSize is not supported by this operation."); - } - return this.listForScopePagingPage(scope, options, settings); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams, - settings?: PageSettings - ): AsyncIterableIterator { - let result: RoleManagementPolicyAssignmentsListForScopeResponse; - let continuationToken = settings?.continuationToken; - if (!continuationToken) { - result = await this._listForScope(scope, options); - let page = result.value || []; - continuationToken = result.nextLink; - setContinuationToken(page, continuationToken); - yield page; - } - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - let page = result.value || []; - setContinuationToken(page, continuationToken); - yield page; - } - } - - private async *listForScopePagingAll( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams - ): AsyncIterableIterator { - for await (const page of this.listForScopePagingPage(scope, options)) { - yield* page; - } - } - - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleManagementPolicyAssignmentName: string, - options?: RoleManagementPolicyAssignmentsGetOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyAssignmentName, options }, - getOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - create( - scope: string, - roleManagementPolicyAssignmentName: string, - parameters: RoleManagementPolicyAssignment, - options?: RoleManagementPolicyAssignmentsCreateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyAssignmentName, parameters, options }, - createOperationSpec - ); - } - - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleManagementPolicyAssignmentName: string, - options?: RoleManagementPolicyAssignmentsDeleteOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleManagementPolicyAssignmentName, options }, - deleteOperationSpec - ); - } - - /** - * Gets role management assignment policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - private _listForScope( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, options }, - listForScopeOperationSpec - ); - } - - /** - * ListForScopeNext - * @param scope The scope of the role management policy. - * @param nextLink The nextLink from the previous successful call to the ListForScope method. - * @param options The options parameters. - */ - private _listForScopeNext( - scope: string, - nextLink: string, - options?: RoleManagementPolicyAssignmentsListForScopeNextOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, nextLink, options }, - listForScopeNextOperationSpec - ); - } -} -// Operation Specifications -const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); - -const getOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicyAssignment - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyAssignmentName - ], - headerParameters: [Parameters.accept], - serializer -}; -const createOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", - httpMethod: "PUT", - responses: { - 201: { - bodyMapper: Mappers.RoleManagementPolicyAssignment - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - requestBody: Parameters.parameters4, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyAssignmentName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const deleteOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments/{roleManagementPolicyAssignmentName}", - httpMethod: "DELETE", - responses: { - 200: {}, - 204: {}, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleManagementPolicyAssignmentName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleManagementPolicyAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion2], - urlParameters: [Parameters.$host, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleManagementPolicyAssignmentListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], - headerParameters: [Parameters.accept], - serializer -}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts new file mode 100644 index 000000000000..c3eb48ee3232 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts @@ -0,0 +1,105 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ScopeAccessReviewDefaultSettings } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + ScopeAccessReviewDefaultSettingsGetOptionalParams, + ScopeAccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + ScopeAccessReviewDefaultSettingsPutOptionalParams, + ScopeAccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Class containing ScopeAccessReviewDefaultSettings operations. */ +export class ScopeAccessReviewDefaultSettingsImpl + implements ScopeAccessReviewDefaultSettings { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewDefaultSettings class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param options The options parameters. + */ + get( + scope: string, + options?: ScopeAccessReviewDefaultSettingsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + getOperationSpec + ); + } + + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + scope: string, + properties: AccessReviewScheduleSettings, + options?: ScopeAccessReviewDefaultSettingsPutOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, properties, options }, + putOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDefaultSettings + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const putOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleSettings/default", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDefaultSettings + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties3, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinition.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinition.ts new file mode 100644 index 000000000000..456e98247be1 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinition.ts @@ -0,0 +1,115 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ScopeAccessReviewHistoryDefinition } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinitionProperties, + ScopeAccessReviewHistoryDefinitionCreateOptionalParams, + ScopeAccessReviewHistoryDefinitionCreateResponse, + ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Class containing ScopeAccessReviewHistoryDefinition operations. */ +export class ScopeAccessReviewHistoryDefinitionImpl + implements ScopeAccessReviewHistoryDefinition { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinition class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Create a scheduled or one-time Access Review History Definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + scope: string, + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: ScopeAccessReviewHistoryDefinitionCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, properties, options }, + createOperationSpec + ); + } + + /** + * Delete an access review history definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, options }, + deleteByIdOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..64c9ca34fc82 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,78 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ScopeAccessReviewHistoryDefinitionInstance } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Class containing ScopeAccessReviewHistoryDefinitionInstance operations. */ +export class ScopeAccessReviewHistoryDefinitionInstanceImpl + implements ScopeAccessReviewHistoryDefinitionInstance { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinitionInstance class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + scope: string, + historyDefinitionId: string, + instanceId: string, + options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise< + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + > { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, instanceId, options }, + generateDownloadUriOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const generateDownloadUriOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances/{instanceId}/generateDownloadUri", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.instanceId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..2fdc740b0936 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,193 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewHistoryDefinitionInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryInstance, + ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams, + ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams, + ScopeAccessReviewHistoryDefinitionInstancesListResponse, + ScopeAccessReviewHistoryDefinitionInstancesListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewHistoryDefinitionInstances operations. */ +export class ScopeAccessReviewHistoryDefinitionInstancesImpl + implements ScopeAccessReviewHistoryDefinitionInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinitionInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + public list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, historyDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + historyDefinitionId, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewHistoryDefinitionInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, historyDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + historyDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + private _list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + historyDefinitionId: string, + nextLink: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.historyDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..b1f8eddadc3d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts @@ -0,0 +1,204 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewHistoryDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinition, + ScopeAccessReviewHistoryDefinitionsListNextOptionalParams, + ScopeAccessReviewHistoryDefinitionsListOptionalParams, + ScopeAccessReviewHistoryDefinitionsListResponse, + ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdResponse, + ScopeAccessReviewHistoryDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewHistoryDefinitions operations. */ +export class ScopeAccessReviewHistoryDefinitionsImpl + implements ScopeAccessReviewHistoryDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + public list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scope, options, settings); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewHistoryDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(scope, options)) { + yield* page; + } + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + private _list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listOperationSpec + ); + } + + /** + * Get access review history definition by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + nextLink: string, + options?: ScopeAccessReviewHistoryDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstance.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstance.ts new file mode 100644 index 000000000000..e8b550064fa3 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstance.ts @@ -0,0 +1,237 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { ScopeAccessReviewInstance } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + ScopeAccessReviewInstanceStopOptionalParams, + RecordAllDecisionsProperties, + ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams, + ScopeAccessReviewInstanceResetDecisionsOptionalParams, + ScopeAccessReviewInstanceApplyDecisionsOptionalParams, + ScopeAccessReviewInstanceSendRemindersOptionalParams +} from "../models"; + +/** Class containing ScopeAccessReviewInstance operations. */ +export class ScopeAccessReviewInstanceImpl + implements ScopeAccessReviewInstance { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstance class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * An action to stop an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + stopOperationSpec + ); + } + + /** + * An action to approve/deny all decisions for a review with certain filters. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @param options The options parameters. + */ + recordAllDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: RecordAllDecisionsProperties, + options?: ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, properties, options }, + recordAllDecisionsOperationSpec + ); + } + + /** + * An action to reset all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + resetDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceResetDecisionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + resetDecisionsOperationSpec + ); + } + + /** + * An action to apply all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + applyDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceApplyDecisionsOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + applyDecisionsOperationSpec + ); + } + + /** + * An action to send reminders for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + sendReminders( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceSendRemindersOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + sendRemindersOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/stop", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const recordAllDecisionsOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/recordAllDecisions", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties4, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const resetDecisionsOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/resetDecisions", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const applyDecisionsOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/applyDecisions", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const sendRemindersOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/sendReminders", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..1333e4439bbc --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,206 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams, + ScopeAccessReviewInstanceContactedReviewersListOptionalParams, + ScopeAccessReviewInstanceContactedReviewersListResponse, + ScopeAccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstanceContactedReviewers operations. */ +export class ScopeAccessReviewInstanceContactedReviewersImpl + implements ScopeAccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..154cc4e6e15b --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts @@ -0,0 +1,206 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstanceDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + ScopeAccessReviewInstanceDecisionsListNextOptionalParams, + ScopeAccessReviewInstanceDecisionsListOptionalParams, + ScopeAccessReviewInstanceDecisionsListResponse, + ScopeAccessReviewInstanceDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstanceDecisions operations. */ +export class ScopeAccessReviewInstanceDecisionsImpl + implements ScopeAccessReviewInstanceDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstanceDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstanceDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: ScopeAccessReviewInstanceDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts new file mode 100644 index 000000000000..9d35f8dabfff --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts @@ -0,0 +1,284 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + ScopeAccessReviewInstancesListNextOptionalParams, + ScopeAccessReviewInstancesListOptionalParams, + ScopeAccessReviewInstancesListResponse, + ScopeAccessReviewInstancesGetByIdOptionalParams, + ScopeAccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + ScopeAccessReviewInstancesCreateOptionalParams, + ScopeAccessReviewInstancesCreateResponse, + ScopeAccessReviewInstancesListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstances operations. */ +export class ScopeAccessReviewInstancesImpl + implements ScopeAccessReviewInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstancesGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * Update access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: ScopeAccessReviewInstancesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, properties, options }, + createOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + nextLink: string, + options?: ScopeAccessReviewInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstance + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..f502bfddccb3 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts @@ -0,0 +1,322 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewScheduleDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewScheduleDefinition, + ScopeAccessReviewScheduleDefinitionsListNextOptionalParams, + ScopeAccessReviewScheduleDefinitionsListOptionalParams, + ScopeAccessReviewScheduleDefinitionsListResponse, + ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdResponse, + ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + ScopeAccessReviewScheduleDefinitionsStopOptionalParams, + ScopeAccessReviewScheduleDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewScheduleDefinitions operations. */ +export class ScopeAccessReviewScheduleDefinitionsImpl + implements ScopeAccessReviewScheduleDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewScheduleDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + public list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scope, options, settings); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewScheduleDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + private _list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listOperationSpec + ); + } + + /** + * Get single access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * Delete access review schedule definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + deleteByIdOperationSpec + ); + } + + /** + * Create or Update access review schedule definition. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scope: string, + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, properties, options }, + createOrUpdateByIdOperationSpec + ); + } + + /** + * Stop access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + stopOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + nextLink: string, + options?: ScopeAccessReviewScheduleDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const getByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateByIdOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinition + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + requestBody: Parameters.properties1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const stopOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/stop", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..fee9695eceff --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { TenantLevelAccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams, + TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams, + TenantLevelAccessReviewInstanceContactedReviewersListResponse, + TenantLevelAccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing TenantLevelAccessReviewInstanceContactedReviewers operations. */ +export class TenantLevelAccessReviewInstanceContactedReviewersImpl + implements TenantLevelAccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class TenantLevelAccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: TenantLevelAccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise< + TenantLevelAccessReviewInstanceContactedReviewersListNextResponse + > { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts new file mode 100644 index 000000000000..71fc31da58f5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewDefaultSettingsGetOptionalParams, + AccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + AccessReviewDefaultSettingsPutOptionalParams, + AccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Interface representing a AccessReviewDefaultSettingsOperations. */ +export interface AccessReviewDefaultSettingsOperations { + /** + * Get access review default settings for the subscription + * @param options The options parameters. + */ + get( + options?: AccessReviewDefaultSettingsGetOptionalParams + ): Promise; + /** + * Get access review default settings for the subscription + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + properties: AccessReviewScheduleSettings, + options?: AccessReviewDefaultSettingsPutOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..4d77716ecc2f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Interface representing a AccessReviewHistoryDefinitionInstance. */ +export interface AccessReviewHistoryDefinitionInstance { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + historyDefinitionId: string, + instanceId: string, + options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..1549ff379e98 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryInstance, + AccessReviewHistoryDefinitionInstancesListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewHistoryDefinitionInstances. */ +export interface AccessReviewHistoryDefinitionInstances { + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts new file mode 100644 index 000000000000..dfda80c1b829 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionProperties, + AccessReviewHistoryDefinitionCreateOptionalParams, + AccessReviewHistoryDefinitionCreateResponse, + AccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Interface representing a AccessReviewHistoryDefinitionOperations. */ +export interface AccessReviewHistoryDefinitionOperations { + /** + * Create a scheduled or one-time Access Review History Definition + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: AccessReviewHistoryDefinitionCreateOptionalParams + ): Promise; + /** + * Delete an access review history definition + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..4c1896b8172d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryDefinition, + AccessReviewHistoryDefinitionsListOptionalParams, + AccessReviewHistoryDefinitionsGetByIdOptionalParams, + AccessReviewHistoryDefinitionsGetByIdResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewHistoryDefinitions. */ +export interface AccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review history definition by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..5d9cd938cae5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + AccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceContactedReviewers. */ +export interface AccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..df1e4cdfc6e6 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + AccessReviewInstanceDecisionsListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceDecisions. */ +export 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. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts new file mode 100644 index 000000000000..7f2013cc6608 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + AccessReviewInstanceMyDecisionsListOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdResponse, + AccessReviewDecisionProperties, + AccessReviewInstanceMyDecisionsPatchOptionalParams, + AccessReviewInstanceMyDecisionsPatchResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceMyDecisions. */ +export 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. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * 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 options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + decisionId: string, + options?: AccessReviewInstanceMyDecisionsGetByIdOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + patch( + scheduleDefinitionId: string, + id: string, + decisionId: string, + properties: AccessReviewDecisionProperties, + options?: AccessReviewInstanceMyDecisionsPatchOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts new file mode 100644 index 000000000000..0faef402bebd --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts @@ -0,0 +1,74 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewInstanceStopOptionalParams, + AccessReviewInstanceResetDecisionsOptionalParams, + AccessReviewInstanceApplyDecisionsOptionalParams, + AccessReviewInstanceSendRemindersOptionalParams, + AccessReviewInstanceAcceptRecommendationsOptionalParams +} from "../models"; + +/** Interface representing a AccessReviewInstanceOperations. */ +export 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. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceStopOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + resetDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceResetDecisionsOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + applyDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceApplyDecisionsOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + sendReminders( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceSendRemindersOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + acceptRecommendations( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceAcceptRecommendationsOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts new file mode 100644 index 000000000000..540b9fa5218c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts @@ -0,0 +1,56 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + AccessReviewInstancesListOptionalParams, + AccessReviewInstancesGetByIdOptionalParams, + AccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + AccessReviewInstancesCreateOptionalParams, + AccessReviewInstancesCreateResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstances. */ +export interface AccessReviewInstances { + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesGetByIdOptionalParams + ): Promise; + /** + * Update access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: AccessReviewInstancesCreateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts new file mode 100644 index 000000000000..86e51cc51c0e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstancesAssignedForMyApproval. */ +export interface AccessReviewInstancesAssignedForMyApproval { + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator; + /** + * 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 options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..972f1705680c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts @@ -0,0 +1,70 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsListOptionalParams, + AccessReviewScheduleDefinitionsGetByIdOptionalParams, + AccessReviewScheduleDefinitionsGetByIdResponse, + AccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + AccessReviewScheduleDefinitionsStopOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewScheduleDefinitions. */ +export interface AccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get single access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise; + /** + * Delete access review schedule definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise; + /** + * 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 options The options parameters. + */ + createOrUpdateById( + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise; + /** + * Stop access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsStopOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts new file mode 100644 index 000000000000..6f00935f1250 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts @@ -0,0 +1,25 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewScheduleDefinitionsAssignedForMyApproval. */ +export interface AccessReviewScheduleDefinitionsAssignedForMyApproval { + /** + * Get access review instances assigned for my approval. + * @param options The options parameters. + */ + list( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts new file mode 100644 index 000000000000..8b041634b838 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts @@ -0,0 +1,60 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertConfiguration, + AlertConfigurationsListForScopeOptionalParams, + AlertConfigurationsGetOptionalParams, + AlertConfigurationsGetResponse, + AlertConfigurationsUpdateOptionalParams +} from "../models"; + +/// +/** Interface representing a AlertConfigurations. */ +export interface AlertConfigurations { + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert configuration. + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertConfigurationsGetOptionalParams + ): Promise; + /** + * Update an alert configuration. + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: AlertConfiguration, + options?: AlertConfigurationsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts new file mode 100644 index 000000000000..371884eabfad --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertDefinition, + AlertDefinitionsListForScopeOptionalParams, + AlertDefinitionsGetOptionalParams, + AlertDefinitionsGetResponse +} from "../models"; + +/// +/** Interface representing a AlertDefinitions. */ +export interface AlertDefinitions { + /** + * Gets alert definitions for a resource scope. + * @param scope The scope of the alert definition. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertDefinitionsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert definition. + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @param options The options parameters. + */ + get( + scope: string, + alertDefinitionId: string, + options?: AlertDefinitionsGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts new file mode 100644 index 000000000000..67b1eaf4c053 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts @@ -0,0 +1,64 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertIncident, + AlertIncidentsListForScopeOptionalParams, + AlertIncidentsGetOptionalParams, + AlertIncidentsGetResponse, + AlertIncidentsRemediateOptionalParams +} from "../models"; + +/// +/** Interface representing a AlertIncidents. */ +export interface AlertIncidents { + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert incident. + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsGetOptionalParams + ): Promise; + /** + * Remediate an alert incident. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @param options The options parameters. + */ + remediate( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsRemediateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts new file mode 100644 index 000000000000..ce47e8790833 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AlertOperationGetOptionalParams, + AlertOperationGetResponse +} from "../models"; + +/** Interface representing a AlertOperation. */ +export interface AlertOperation { + /** + * Get the specified alert operation. + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @param options The options parameters. + */ + get( + scope: string, + operationId: string, + options?: AlertOperationGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts new file mode 100644 index 000000000000..62e7c64e9b54 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts @@ -0,0 +1,114 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + Alert, + AlertsListForScopeOptionalParams, + AlertsGetOptionalParams, + AlertsGetResponse, + AlertsUpdateOptionalParams, + AlertsRefreshOptionalParams, + AlertsRefreshResponse, + AlertsRefreshAllOptionalParams, + AlertsRefreshAllResponse +} from "../models"; + +/// +/** Interface representing a Alerts. */ +export interface Alerts { + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert. + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertsGetOptionalParams + ): Promise; + /** + * Update an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: Alert, + options?: AlertsUpdateOptionalParams + ): Promise; + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + beginRefresh( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshResponse + > + >; + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + beginRefreshAndWait( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise; + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + beginRefreshAll( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshAllResponse + > + >; + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + beginRefreshAllAndWait( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/denyAssignments.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/denyAssignments.ts deleted file mode 100644 index d57be6806141..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/denyAssignments.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - DenyAssignment, - DenyAssignmentsListForResourceOptionalParams, - DenyAssignmentsListForResourceGroupOptionalParams, - DenyAssignmentsListOptionalParams, - DenyAssignmentsListForScopeOptionalParams, - DenyAssignmentsGetOptionalParams, - DenyAssignmentsGetResponse, - DenyAssignmentsGetByIdOptionalParams, - DenyAssignmentsGetByIdResponse -} from "../models"; - -/// -/** Interface representing a DenyAssignments. */ -export 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. - * @param options The options parameters. - */ - listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: DenyAssignmentsListForResourceOptionalParams - ): PagedAsyncIterableIterator; - /** - * Gets deny assignments for a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - listForResourceGroup( - resourceGroupName: string, - options?: DenyAssignmentsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator; - /** - * Gets all deny assignments for the subscription. - * @param options The options parameters. - */ - list( - options?: DenyAssignmentsListOptionalParams - ): PagedAsyncIterableIterator; - /** - * Gets deny assignments for a scope. - * @param scope The scope of the deny assignments. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: DenyAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * Get the specified deny assignment. - * @param scope The scope of the deny assignment. - * @param denyAssignmentId The ID of the deny assignment to get. - * @param options The options parameters. - */ - get( - scope: string, - denyAssignmentId: string, - options?: DenyAssignmentsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - getById( - denyAssignmentId: string, - options?: DenyAssignmentsGetByIdOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts deleted file mode 100644 index e4d88d125602..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - EligibleChildResource, - EligibleChildResourcesGetOptionalParams -} from "../models"; - -/// -/** Interface representing a EligibleChildResources. */ -export interface EligibleChildResources { - /** - * Get the child resources of a resource on which user has eligible access - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - list( - scope: string, - options?: EligibleChildResourcesGetOptionalParams - ): PagedAsyncIterableIterator; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/globalAdministrator.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/globalAdministrator.ts deleted file mode 100644 index e0ecc90c5fae..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/globalAdministrator.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { GlobalAdministratorElevateAccessOptionalParams } from "../models"; - -/** Interface representing a GlobalAdministrator. */ -export interface GlobalAdministrator { - /** - * Elevates access for a Global Administrator. - * @param options The options parameters. - */ - elevateAccess( - options?: GlobalAdministratorElevateAccessOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts index e33e8ff3e2a0..dc6d3b3df2f9 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts @@ -6,19 +6,33 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -export * from "./classicAdministrators"; -export * from "./globalAdministrator"; -export * from "./denyAssignments"; -export * from "./providerOperationsMetadataOperations"; -export * from "./roleAssignments"; -export * from "./permissions"; -export * from "./roleDefinitions"; -export * from "./eligibleChildResources"; -export * from "./roleAssignmentSchedules"; -export * from "./roleAssignmentScheduleInstances"; -export * from "./roleAssignmentScheduleRequests"; -export * from "./roleEligibilitySchedules"; -export * from "./roleEligibilityScheduleInstances"; -export * from "./roleEligibilityScheduleRequests"; -export * from "./roleManagementPolicies"; -export * from "./roleManagementPolicyAssignments"; +export * from "./operations"; +export * from "./accessReviewHistoryDefinitions"; +export * from "./accessReviewHistoryDefinitionOperations"; +export * from "./accessReviewHistoryDefinitionInstance"; +export * from "./accessReviewHistoryDefinitionInstances"; +export * from "./accessReviewScheduleDefinitions"; +export * from "./accessReviewInstances"; +export * from "./accessReviewInstanceOperations"; +export * from "./accessReviewInstanceDecisions"; +export * from "./accessReviewInstanceContactedReviewers"; +export * from "./accessReviewDefaultSettingsOperations"; +export * from "./scopeAccessReviewHistoryDefinitions"; +export * from "./scopeAccessReviewHistoryDefinition"; +export * from "./scopeAccessReviewHistoryDefinitionInstance"; +export * from "./scopeAccessReviewHistoryDefinitionInstances"; +export * from "./scopeAccessReviewScheduleDefinitions"; +export * from "./scopeAccessReviewInstances"; +export * from "./scopeAccessReviewInstance"; +export * from "./scopeAccessReviewInstanceDecisions"; +export * from "./scopeAccessReviewInstanceContactedReviewers"; +export * from "./scopeAccessReviewDefaultSettings"; +export * from "./accessReviewScheduleDefinitionsAssignedForMyApproval"; +export * from "./accessReviewInstancesAssignedForMyApproval"; +export * from "./accessReviewInstanceMyDecisions"; +export * from "./tenantLevelAccessReviewInstanceContactedReviewers"; +export * from "./alerts"; +export * from "./alertConfigurations"; +export * from "./alertDefinitions"; +export * from "./alertIncidents"; +export * from "./alertOperation"; diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/classicAdministrators.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/operations.ts similarity index 50% rename from sdk/authorization/arm-authorization/src/operationsInterfaces/classicAdministrators.ts rename to sdk/authorization/arm-authorization/src/operationsInterfaces/operations.ts index b97124c34af9..92a4da30855a 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/classicAdministrators.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/operations.ts @@ -7,19 +7,16 @@ */ import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - ClassicAdministrator, - ClassicAdministratorsListOptionalParams -} from "../models"; +import { Operation, OperationsListOptionalParams } from "../models"; /// -/** Interface representing a ClassicAdministrators. */ -export interface ClassicAdministrators { +/** Interface representing a Operations. */ +export interface Operations { /** - * Gets service administrator, account administrator, and co-administrators for the subscription. + * Lists the operations available from this provider. * @param options The options parameters. */ list( - options?: ClassicAdministratorsListOptionalParams - ): PagedAsyncIterableIterator; + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; } diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/permissions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/permissions.ts deleted file mode 100644 index c29022ffc1f1..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/permissions.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - Permission, - PermissionsListForResourceGroupOptionalParams, - PermissionsListForResourceOptionalParams -} from "../models"; - -/// -/** Interface representing a Permissions. */ -export 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. - * @param options The options parameters. - */ - listForResourceGroup( - resourceGroupName: string, - options?: PermissionsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - parentResourcePath: string, - resourceType: string, - resourceName: string, - options?: PermissionsListForResourceOptionalParams - ): PagedAsyncIterableIterator; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/providerOperationsMetadataOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/providerOperationsMetadataOperations.ts deleted file mode 100644 index a7e5a95f3d63..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/providerOperationsMetadataOperations.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - ProviderOperationsMetadata, - ProviderOperationsMetadataListOptionalParams, - ProviderOperationsMetadataGetOptionalParams, - ProviderOperationsMetadataGetResponse -} from "../models"; - -/// -/** Interface representing a ProviderOperationsMetadataOperations. */ -export interface ProviderOperationsMetadataOperations { - /** - * Gets provider operations metadata for all resource providers. - * @param options The options parameters. - */ - list( - options?: ProviderOperationsMetadataListOptionalParams - ): PagedAsyncIterableIterator; - /** - * Gets provider operations metadata for the specified resource provider. - * @param resourceProviderNamespace The namespace of the resource provider. - * @param options The options parameters. - */ - get( - resourceProviderNamespace: string, - options?: ProviderOperationsMetadataGetOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts deleted file mode 100644 index 6e839fde6303..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignmentScheduleInstance, - RoleAssignmentScheduleInstancesListForScopeOptionalParams, - RoleAssignmentScheduleInstancesGetOptionalParams, - RoleAssignmentScheduleInstancesGetResponse -} from "../models"; - -/// -/** Interface representing a RoleAssignmentScheduleInstances. */ -export interface RoleAssignmentScheduleInstances { - /** - * Gets role assignment schedule instances of a role assignment schedule. - * @param scope The scope of the role assignment schedule. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentScheduleInstanceName: string, - options?: RoleAssignmentScheduleInstancesGetOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts deleted file mode 100644 index ddf1bb78ef4e..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignmentScheduleRequest, - RoleAssignmentScheduleRequestsListForScopeOptionalParams, - RoleAssignmentScheduleRequestsCreateOptionalParams, - RoleAssignmentScheduleRequestsCreateResponse, - RoleAssignmentScheduleRequestsGetOptionalParams, - RoleAssignmentScheduleRequestsGetResponse, - RoleAssignmentScheduleRequestsCancelOptionalParams, - RoleAssignmentScheduleRequestsValidateOptionalParams, - RoleAssignmentScheduleRequestsValidateResponse -} from "../models"; - -/// -/** Interface representing a RoleAssignmentScheduleRequests. */ -export interface RoleAssignmentScheduleRequests { - /** - * Gets role assignment schedule requests for a scope. - * @param scope The scope of the role assignments schedule requests. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/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 options The options parameters. - */ - create( - scope: string, - roleAssignmentScheduleRequestName: string, - parameters: RoleAssignmentScheduleRequest, - options?: RoleAssignmentScheduleRequestsCreateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentScheduleRequestName: string, - options?: RoleAssignmentScheduleRequestsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - cancel( - scope: string, - roleAssignmentScheduleRequestName: string, - options?: RoleAssignmentScheduleRequestsCancelOptionalParams - ): Promise; - /** - * Validates a new role assignment schedule request. - * @param scope The scope of the role assignment request to validate. - * @param roleAssignmentScheduleRequestName The name of the role assignment request to validate. - * @param parameters Parameters for the role assignment schedule request. - * @param options The options parameters. - */ - validate( - scope: string, - roleAssignmentScheduleRequestName: string, - parameters: RoleAssignmentScheduleRequest, - options?: RoleAssignmentScheduleRequestsValidateOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts deleted file mode 100644 index 860f62c3bfda..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignmentSchedule, - RoleAssignmentSchedulesListForScopeOptionalParams, - RoleAssignmentSchedulesGetOptionalParams, - RoleAssignmentSchedulesGetResponse -} from "../models"; - -/// -/** Interface representing a RoleAssignmentSchedules. */ -export interface RoleAssignmentSchedules { - /** - * Gets role assignment schedules for a resource scope. - * @param scope The scope of the role assignments schedules. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentScheduleName: string, - options?: RoleAssignmentSchedulesGetOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts deleted file mode 100644 index 8b853bdceaa3..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignment, - RoleAssignmentsListForSubscriptionOptionalParams, - RoleAssignmentsListForResourceGroupOptionalParams, - RoleAssignmentsListForResourceOptionalParams, - RoleAssignmentsListForScopeOptionalParams, - RoleAssignmentsGetOptionalParams, - RoleAssignmentsGetResponse, - RoleAssignmentCreateParameters, - RoleAssignmentsCreateOptionalParams, - RoleAssignmentsCreateResponse, - RoleAssignmentsDeleteOptionalParams, - RoleAssignmentsDeleteResponse, - RoleAssignmentsGetByIdOptionalParams, - RoleAssignmentsGetByIdResponse, - RoleAssignmentsCreateByIdOptionalParams, - RoleAssignmentsCreateByIdResponse, - RoleAssignmentsDeleteByIdOptionalParams, - RoleAssignmentsDeleteByIdResponse -} from "../models"; - -/// -/** Interface representing a RoleAssignments. */ -export interface RoleAssignments { - /** - * List all role assignments that apply to a subscription. - * @param options The options parameters. - */ - listForSubscription( - options?: RoleAssignmentsListForSubscriptionOptionalParams - ): PagedAsyncIterableIterator; - /** - * List all role assignments that apply to a resource group. - * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param options The options parameters. - */ - listForResourceGroup( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - listForResource( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - listForScope( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleAssignmentName: string, - options?: RoleAssignmentsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - create( - scope: string, - roleAssignmentName: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsCreateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleAssignmentName: string, - options?: RoleAssignmentsDeleteOptionalParams - ): Promise; - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param options The options parameters. - */ - getById( - roleAssignmentId: string, - options?: RoleAssignmentsGetByIdOptionalParams - ): Promise; - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - createById( - roleAssignmentId: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsCreateByIdOptionalParams - ): Promise; - /** - * 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//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param options The options parameters. - */ - deleteById( - roleAssignmentId: string, - options?: RoleAssignmentsDeleteByIdOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts deleted file mode 100644 index 5f7ade301159..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleDefinition, - RoleDefinitionsListOptionalParams, - RoleDefinitionsDeleteOptionalParams, - RoleDefinitionsDeleteResponse, - RoleDefinitionsGetOptionalParams, - RoleDefinitionsGetResponse, - RoleDefinitionsCreateOrUpdateOptionalParams, - RoleDefinitionsCreateOrUpdateResponse, - RoleDefinitionsGetByIdOptionalParams, - RoleDefinitionsGetByIdResponse -} from "../models"; - -/// -/** Interface representing a RoleDefinitions. */ -export interface RoleDefinitions { - /** - * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. - * @param options The options parameters. - */ - list( - scope: string, - options?: RoleDefinitionsListOptionalParams - ): PagedAsyncIterableIterator; - /** - * Deletes a role definition. - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition to delete. - * @param options The options parameters. - */ - delete( - scope: string, - roleDefinitionId: string, - options?: RoleDefinitionsDeleteOptionalParams - ): Promise; - /** - * Get role definition by name (GUID). - * @param scope The scope of the role definition. - * @param roleDefinitionId The ID of the role definition. - * @param options The options parameters. - */ - get( - scope: string, - roleDefinitionId: string, - options?: RoleDefinitionsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - createOrUpdate( - scope: string, - roleDefinitionId: string, - roleDefinition: RoleDefinition, - options?: RoleDefinitionsCreateOrUpdateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - getById( - roleId: string, - options?: RoleDefinitionsGetByIdOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts deleted file mode 100644 index a749afd71b39..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleEligibilityScheduleInstance, - RoleEligibilityScheduleInstancesListForScopeOptionalParams, - RoleEligibilityScheduleInstancesGetOptionalParams, - RoleEligibilityScheduleInstancesGetResponse -} from "../models"; - -/// -/** Interface representing a RoleEligibilityScheduleInstances. */ -export interface RoleEligibilityScheduleInstances { - /** - * Gets role eligibility schedule instances of a role eligibility schedule. - * @param scope The scope of the role eligibility schedule. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleInstanceName: string, - options?: RoleEligibilityScheduleInstancesGetOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts deleted file mode 100644 index 469f04796775..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleEligibilityScheduleRequest, - RoleEligibilityScheduleRequestsListForScopeOptionalParams, - RoleEligibilityScheduleRequestsCreateOptionalParams, - RoleEligibilityScheduleRequestsCreateResponse, - RoleEligibilityScheduleRequestsGetOptionalParams, - RoleEligibilityScheduleRequestsGetResponse, - RoleEligibilityScheduleRequestsCancelOptionalParams, - RoleEligibilityScheduleRequestsValidateOptionalParams, - RoleEligibilityScheduleRequestsValidateResponse -} from "../models"; - -/// -/** Interface representing a RoleEligibilityScheduleRequests. */ -export interface RoleEligibilityScheduleRequests { - /** - * Gets role eligibility schedule requests for a scope. - * @param scope The scope of the role eligibility schedule requests. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/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 options The options parameters. - */ - create( - scope: string, - roleEligibilityScheduleRequestName: string, - parameters: RoleEligibilityScheduleRequest, - options?: RoleEligibilityScheduleRequestsCreateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleRequestName: string, - options?: RoleEligibilityScheduleRequestsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - cancel( - scope: string, - roleEligibilityScheduleRequestName: string, - options?: RoleEligibilityScheduleRequestsCancelOptionalParams - ): Promise; - /** - * Validates a new role eligibility schedule request. - * @param scope The scope of the role eligibility request to validate. - * @param roleEligibilityScheduleRequestName The name of the role eligibility request to validate. - * @param parameters Parameters for the role eligibility schedule request. - * @param options The options parameters. - */ - validate( - scope: string, - roleEligibilityScheduleRequestName: string, - parameters: RoleEligibilityScheduleRequest, - options?: RoleEligibilityScheduleRequestsValidateOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts deleted file mode 100644 index 7a8e00368b23..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleEligibilitySchedule, - RoleEligibilitySchedulesListForScopeOptionalParams, - RoleEligibilitySchedulesGetOptionalParams, - RoleEligibilitySchedulesGetResponse -} from "../models"; - -/// -/** Interface representing a RoleEligibilitySchedules. */ -export interface RoleEligibilitySchedules { - /** - * Gets role eligibility schedules for a resource scope. - * @param scope The scope of the role eligibility schedules. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleEligibilityScheduleName: string, - options?: RoleEligibilitySchedulesGetOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts deleted file mode 100644 index 1f9ef62fd721..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleManagementPolicy, - RoleManagementPoliciesListForScopeOptionalParams, - RoleManagementPoliciesGetOptionalParams, - RoleManagementPoliciesGetResponse, - RoleManagementPoliciesUpdateOptionalParams, - RoleManagementPoliciesUpdateResponse, - RoleManagementPoliciesDeleteOptionalParams -} from "../models"; - -/// -/** Interface representing a RoleManagementPolicies. */ -export interface RoleManagementPolicies { - /** - * Gets role management policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleManagementPolicyName: string, - options?: RoleManagementPoliciesGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - update( - scope: string, - roleManagementPolicyName: string, - parameters: RoleManagementPolicy, - options?: RoleManagementPoliciesUpdateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleManagementPolicyName: string, - options?: RoleManagementPoliciesDeleteOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts deleted file mode 100644 index 04743a2ae06d..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) Microsoft Corporation. - * Licensed under the MIT License. - * - * Code generated by Microsoft (R) AutoRest Code Generator. - * Changes may cause incorrect behavior and will be lost if the code is regenerated. - */ - -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleManagementPolicyAssignment, - RoleManagementPolicyAssignmentsListForScopeOptionalParams, - RoleManagementPolicyAssignmentsGetOptionalParams, - RoleManagementPolicyAssignmentsGetResponse, - RoleManagementPolicyAssignmentsCreateOptionalParams, - RoleManagementPolicyAssignmentsCreateResponse, - RoleManagementPolicyAssignmentsDeleteOptionalParams -} from "../models"; - -/// -/** Interface representing a RoleManagementPolicyAssignments. */ -export interface RoleManagementPolicyAssignments { - /** - * Gets role management assignment policies for a resource scope. - * @param scope The scope of the role management policy. - * @param options The options parameters. - */ - listForScope( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams - ): PagedAsyncIterableIterator; - /** - * 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 options The options parameters. - */ - get( - scope: string, - roleManagementPolicyAssignmentName: string, - options?: RoleManagementPolicyAssignmentsGetOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - create( - scope: string, - roleManagementPolicyAssignmentName: string, - parameters: RoleManagementPolicyAssignment, - options?: RoleManagementPolicyAssignmentsCreateOptionalParams - ): Promise; - /** - * 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 options The options parameters. - */ - delete( - scope: string, - roleManagementPolicyAssignmentName: string, - options?: RoleManagementPolicyAssignmentsDeleteOptionalParams - ): Promise; -} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts new file mode 100644 index 000000000000..a0b9039d045d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewDefaultSettingsGetOptionalParams, + ScopeAccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + ScopeAccessReviewDefaultSettingsPutOptionalParams, + ScopeAccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Interface representing a ScopeAccessReviewDefaultSettings. */ +export interface ScopeAccessReviewDefaultSettings { + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param options The options parameters. + */ + get( + scope: string, + options?: ScopeAccessReviewDefaultSettingsGetOptionalParams + ): Promise; + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + scope: string, + properties: AccessReviewScheduleSettings, + options?: ScopeAccessReviewDefaultSettingsPutOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts new file mode 100644 index 000000000000..7f5b3c4f1218 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionProperties, + ScopeAccessReviewHistoryDefinitionCreateOptionalParams, + ScopeAccessReviewHistoryDefinitionCreateResponse, + ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Interface representing a ScopeAccessReviewHistoryDefinition. */ +export interface ScopeAccessReviewHistoryDefinition { + /** + * Create a scheduled or one-time Access Review History Definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + scope: string, + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: ScopeAccessReviewHistoryDefinitionCreateOptionalParams + ): Promise; + /** + * Delete an access review history definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..952f891d24a5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,32 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Interface representing a ScopeAccessReviewHistoryDefinitionInstance. */ +export interface ScopeAccessReviewHistoryDefinitionInstance { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + scope: string, + historyDefinitionId: string, + instanceId: string, + options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise< + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + >; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..1263672ae858 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryInstance, + ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewHistoryDefinitionInstances. */ +export interface ScopeAccessReviewHistoryDefinitionInstances { + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..d14f3ce0293d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts @@ -0,0 +1,41 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryDefinition, + ScopeAccessReviewHistoryDefinitionsListOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdResponse +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewHistoryDefinitions. */ +export interface ScopeAccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review history definition by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts new file mode 100644 index 000000000000..195539b5ebf9 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts @@ -0,0 +1,87 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewInstanceStopOptionalParams, + RecordAllDecisionsProperties, + ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams, + ScopeAccessReviewInstanceResetDecisionsOptionalParams, + ScopeAccessReviewInstanceApplyDecisionsOptionalParams, + ScopeAccessReviewInstanceSendRemindersOptionalParams +} from "../models"; + +/** Interface representing a ScopeAccessReviewInstance. */ +export interface ScopeAccessReviewInstance { + /** + * An action to stop an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceStopOptionalParams + ): Promise; + /** + * An action to approve/deny all decisions for a review with certain filters. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @param options The options parameters. + */ + recordAllDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: RecordAllDecisionsProperties, + options?: ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + ): Promise; + /** + * An action to reset all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + resetDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceResetDecisionsOptionalParams + ): Promise; + /** + * An action to apply all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + applyDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceApplyDecisionsOptionalParams + ): Promise; + /** + * An action to send reminders for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + sendReminders( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceSendRemindersOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..1e0830d268da --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + ScopeAccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstanceContactedReviewers. */ +export interface ScopeAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..0f754eb6126e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + ScopeAccessReviewInstanceDecisionsListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstanceDecisions. */ +export interface ScopeAccessReviewInstanceDecisions { + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts new file mode 100644 index 000000000000..81c7a21a7600 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + ScopeAccessReviewInstancesListOptionalParams, + ScopeAccessReviewInstancesGetByIdOptionalParams, + ScopeAccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + ScopeAccessReviewInstancesCreateOptionalParams, + ScopeAccessReviewInstancesCreateResponse +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstances. */ +export interface ScopeAccessReviewInstances { + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstancesGetByIdOptionalParams + ): Promise; + /** + * Update access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: ScopeAccessReviewInstancesCreateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..a0459141a928 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts @@ -0,0 +1,80 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + ScopeAccessReviewScheduleDefinitionsListOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdResponse, + ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + ScopeAccessReviewScheduleDefinitionsStopOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewScheduleDefinitions. */ +export interface ScopeAccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get single access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise; + /** + * Delete access review schedule definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise; + /** + * Create or Update access review schedule definition. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scope: string, + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise; + /** + * Stop access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsStopOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..e7b93a374851 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a TenantLevelAccessReviewInstanceContactedReviewers. */ +export interface TenantLevelAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/test/sampleTest.ts b/sdk/authorization/arm-authorization/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/authorization/arm-authorization/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/authorization/arm-authorization/tsconfig.json b/sdk/authorization/arm-authorization/tsconfig.json index bd142baf706d..3e6ae96443f3 100644 --- a/sdk/authorization/arm-authorization/tsconfig.json +++ b/sdk/authorization/arm-authorization/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-authorization": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"