diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 3305c273ec4a..b939b5f31d0f 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -10586,21 +10586,30 @@ packages: dev: false file:projects/arm-authorization.tgz: - resolution: {integrity: sha512-oG5I0FW25UWY/8ljPqLbsppt3PB54BTNzZCyWhvQY1J3b1UgUt7Ty0KemX/a6MiukKlizslI6D4DBuDChWXVBg==, tarball: file:projects/arm-authorization.tgz} + resolution: {integrity: sha512-InSRtYkwds1E0Y3jg8gJ3Grp1iZbJ5hdJGYZgdiYbhZN4va5isR48x/JJklsF/ejUjPdkU2D3y3rIppWSHtAPQ==, tarball: file:projects/arm-authorization.tgz} name: '@rush-temp/arm-authorization' version: 0.0.0 dependencies: + '@azure/identity': 2.1.0 '@microsoft/api-extractor': 7.33.6 '@rollup/plugin-commonjs': 21.1.0_rollup@2.79.1 '@rollup/plugin-json': 4.1.0_rollup@2.79.1 - '@rollup/plugin-multi-entry': 3.0.1_rollup@2.79.1 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.79.1 + '@rollup/plugin-multi-entry': 4.1.0_rollup@2.79.1 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 + '@types/chai': 4.3.4 + chai: 4.3.7 + cross-env: 7.0.3 mkdirp: 1.0.4 + mocha: 7.2.0 + rimraf: 3.0.2 rollup: 2.79.1 - rollup-plugin-sourcemaps: 0.4.2_rollup@2.79.1 + rollup-plugin-sourcemaps: 0.6.3_rollup@2.79.1 tslib: 2.4.1 - typescript: 4.2.4 + typescript: 4.6.4 uglify-js: 3.17.4 + transitivePeerDependencies: + - '@types/node' + - supports-color dev: false file:projects/arm-automanage.tgz: diff --git a/sdk/authorization/arm-authorization/CHANGELOG.md b/sdk/authorization/arm-authorization/CHANGELOG.md index 95bb2ca96bb0..7d3429fa8674 100644 --- a/sdk/authorization/arm-authorization/CHANGELOG.md +++ b/sdk/authorization/arm-authorization/CHANGELOG.md @@ -1,38 +1,11 @@ # Release History + +## 9.0.0-beta.4 (2022-12-02) -## 9.0.0-beta.4 (Unreleased) +The package of @azure/arm-authorization is using our next generation design principles since version 9.0.0-beta.4, which contains breaking changes. -### Features Added +To understand the detail of the change, please refer to [Changelog](https://aka.ms/js-track2-changelog). -### Breaking Changes +To migrate the existing applications to the latest version, please refer to [Migration Guide](https://aka.ms/js-track2-migration-guide). -### Bugs Fixed - -### Other Changes - -## 9.0.0-beta.3 (2022-10-08) - -**Bugs Fixed** - - - revert credential scopes - -## 9.0.0-beta.2 (2022-09-30) - -**Bugs Fixed** - - - fix better user experience of credential scopes in government cloud - -## 9.0.0-beta.1 (2021-10-09) - -This is the first preview for the new version of the `@azure/arm-authorization` package that follows the new [guidelines for TypeScript SDKs](https://azure.github.io/azure-sdk/typescript_introduction.html) for Azure services. - -While this package remains auto generated, the SDK generator itself has undergone changes to comply with the above guidelines in order to generate packages that are idiomatic to the JavaScript/TypeScript ecosystem and consistent with other packages for Azure services. For more on this, please see [State of the Azure SDK 2021](https://devblogs.microsoft.com/azure-sdk/state-of-the-azure-sdk-2021/). - -Please note that this version has breaking changes, all of which were made after careful consideration during the authoring of the guidelines and user studies. - -**Noteworthy changes and features** -- Authentication: The packages `@azure/ms-rest-nodeauth` or `@azure/ms-rest-browserauth` are no longer supported. Use package [@azure/identity](https://www.npmjs.com/package/@azure/identity) instead. Select a credential from Azure Identity examples based on the authentication method of your choice. -- Callbacks: Method overloads that used callbacks have been removed and the use of promises is encouraged instead. -- List operations now return an iterable result that follows the `PagedAsyncIterableIterator` interface as opposed to the previous model where you had to make a new request using the link to the next page. -- Long running operations i.e. the Lro related object returned by methods whose names started with `begin`, now uses `pollUntilDone` to check whether the request is finished, instead of `pollUntilFinished`. To get the final result, use the corresponding method that will have the suffix `AndWait`. -- The SDK only supports ECMAScript 2015 (ES6) and beyond, all projects that referenced this SDK should be upgraded to use ES6. +To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/authorization/arm-authorization/LICENSE b/sdk/authorization/arm-authorization/LICENSE index ccb63b166732..5d1d36e0af80 100644 --- a/sdk/authorization/arm-authorization/LICENSE +++ b/sdk/authorization/arm-authorization/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2021 Microsoft +Copyright (c) 2022 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/authorization/arm-authorization/README.md b/sdk/authorization/arm-authorization/README.md index 5170f33005f0..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 assignments. 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 @@ -16,6 +16,8 @@ Role based access control provides you a way to apply granular level policy admi - [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule) - Latest versions of Safari, Chrome, Edge and Firefox. +See our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details. + ### Prerequisites - An [Azure subscription][azure_sub]. @@ -33,9 +35,9 @@ npm install @azure/arm-authorization To create a client object to access the Azure AuthorizationManagement API, you will need the `endpoint` of your Azure AuthorizationManagement resource and a `credential`. The Azure AuthorizationManagement client can use Azure Active Directory credentials to authenticate. You can find the endpoint for your Azure AuthorizationManagement resource in the [Azure Portal][azure_portal]. -#### Using an Azure Active Directory Credential +You can authenticate with Azure Active Directory using a credential from the [@azure/identity][azure_identity] library or [an existing AAD Token](https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token). -You can authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: +To use the [DefaultAzureCredential][defaultazurecredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `@azure/identity` package: ```bash npm install @azure/identity @@ -45,13 +47,27 @@ You will also need to **register a new AAD application and grant access to Azure Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal). + ```javascript const { AuthorizationManagementClient } = require("@azure/arm-authorization"); const { DefaultAzureCredential } = require("@azure/identity"); +// For client-side applications running in the browser, use InteractiveBrowserCredential instead of DefaultAzureCredential. See https://aka.ms/azsdk/js/identity/examples for more details. + const subscriptionId = "00000000-0000-0000-0000-000000000000"; const client = new AuthorizationManagementClient(new DefaultAzureCredential(), subscriptionId); + +// For client-side applications running in the browser, use this code instead: +// const credential = new InteractiveBrowserCredential({ +// tenantId: "", +// clientId: "" +// }); +// const client = new AuthorizationManagementClient(credential, subscriptionId); ``` + +### JavaScript Bundle +To use this client library in the browser, first you need to use a bundler. For details on how to do this, please refer to our [bundling documentation](https://aka.ms/AzureSDKBundling). + ## Key concepts ### AuthorizationManagementClient diff --git a/sdk/authorization/arm-authorization/_meta.json b/sdk/authorization/arm-authorization/_meta.json index d11bfb4ce957..3691ded1f0a4 100644 --- a/sdk/authorization/arm-authorization/_meta.json +++ b/sdk/authorization/arm-authorization/_meta.json @@ -1,7 +1,8 @@ { - "commit": "f9e4843e2ed3494e8bd66a92c3e7f65655f58f46", + "commit": "7fa3a133a04c39416845556fef090acd6d9ae871", "readme": "specification/authorization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/authorization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-beta.12", + "autorest_command": "autorest --version=3.8.4 --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.2", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "use": "@autorest/typescript@6.0.0-beta.12" + "release_tool": "@azure-tools/js-sdk-release-tools@2.5.1", + "use": "@autorest/typescript@6.0.0-rc.2" } \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/api-extractor.json b/sdk/authorization/arm-authorization/api-extractor.json index 721910fd40b8..7c284110c453 100644 --- a/sdk/authorization/arm-authorization/api-extractor.json +++ b/sdk/authorization/arm-authorization/api-extractor.json @@ -1,18 +1,31 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "mainEntryPointFilePath": "./dist-esm/index.d.ts", - "docModel": { "enabled": true }, - "apiReport": { "enabled": true, "reportFolder": "./review" }, + "mainEntryPointFilePath": "./dist-esm/src/index.d.ts", + "docModel": { + "enabled": true + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, "dtsRollup": { "enabled": true, "untrimmedFilePath": "", "publicTrimmedFilePath": "./types/arm-authorization.d.ts" }, "messages": { - "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, "extractorMessageReporting": { - "ae-missing-release-tag": { "logLevel": "none" }, - "ae-unresolved-link": { "logLevel": "none" } + "ae-missing-release-tag": { + "logLevel": "none" + }, + "ae-unresolved-link": { + "logLevel": "none" + } } } -} +} \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/package.json b/sdk/authorization/arm-authorization/package.json index 4f4a9c2735d8..02fbd8abcc2b 100644 --- a/sdk/authorization/arm-authorization/package.json +++ b/sdk/authorization/arm-authorization/package.json @@ -8,10 +8,12 @@ "node": ">=14.0.0" }, "dependencies": { - "@azure/core-paging": "^1.1.1", - "@azure/core-client": "^1.0.0", + "@azure/core-lro": "^2.2.0", + "@azure/abort-controller": "^1.0.0", + "@azure/core-paging": "^1.2.0", + "@azure/core-client": "^1.5.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.1.0", + "@azure/core-rest-pipeline": "^1.8.0", "tslib": "^2.2.0" }, "keywords": [ @@ -23,19 +25,28 @@ ], "license": "MIT", "main": "./dist/index.js", - "module": "./dist-esm/index.js", + "module": "./dist-esm/src/index.js", "types": "./types/arm-authorization.d.ts", "devDependencies": { "@microsoft/api-extractor": "^7.31.1", "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-multi-entry": "^3.0.0", - "@rollup/plugin-node-resolve": "^8.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-multi-entry": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.1.3", "mkdirp": "^1.0.4", - "rollup": "^2.0.0", - "rollup-plugin-sourcemaps": "^0.4.2", - "typescript": "~4.2.0", - "uglify-js": "^3.4.9" + "rollup": "^2.66.1", + "rollup-plugin-sourcemaps": "^0.6.3", + "typescript": "~4.6.0", + "uglify-js": "^3.4.9", + "rimraf": "^3.0.0", + "@azure/identity": "^2.0.1", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", + "mocha": "^7.1.1", + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization", "repository": { @@ -64,14 +75,14 @@ "types/*" ], "scripts": { - "build": "tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api", + "build": "npm run clean && tsc && rollup -c 2>&1 && npm run minify && mkdirp ./review && npm run extract-api", "minify": "uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", "prepack": "npm run build", "pack": "npm pack 2>&1", "extract-api": "api-extractor run --local", "lint": "echo skipped", "audit": "echo skipped", - "clean": "echo skipped", + "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", "build:node": "echo skipped", "build:browser": "echo skipped", "build:test": "echo skipped", @@ -79,18 +90,24 @@ "check-format": "echo skipped", "execute:samples": "echo skipped", "format": "echo skipped", - "test": "echo skipped", - "prebuild": "echo skipped", + "test": "npm run integration-test", "test:node": "echo skipped", "test:browser": "echo skipped", - "unit-test": "echo skipped", - "unit-test:node": "echo skipped", + "unit-test": "npm run unit-test:node && npm run unit-test:browser", + "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", - "integration-test:browser": "echo skipped", - "integration-test:node": "echo skipped", - "integration-test": "echo skipped", - "docs": "echo skipped" + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, + "//metadata": { + "constantPaths": [ + { + "path": "src/authorizationManagementClient.ts", + "prefix": "packageDetails" + } + ] + }, "autoPublish": true -} +} \ 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 c3712ab2a018..ce11cfd2722a 100644 --- a/sdk/authorization/arm-authorization/review/arm-authorization.api.md +++ b/sdk/authorization/arm-authorization/review/arm-authorization.api.md @@ -7,1290 +7,1706 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { PollerLike } from '@azure/core-lro'; +import { PollOperationState } 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 type AccessReviewApplyResult = string; + +// @public +export interface AccessReviewContactedReviewer { + readonly createdDateTime?: Date; + readonly id?: string; + readonly name?: string; + readonly type?: string; + readonly userDisplayName?: string; + readonly userPrincipalName?: string; } // @public -export interface ApprovalStage { - approvalStageTimeOutInDays?: number; - escalationApprovers?: UserSet[]; - escalationTimeInMinutes?: number; - isApproverJustificationRequired?: boolean; - isEscalationEnabled?: boolean; - primaryApprovers?: UserSet[]; +export interface AccessReviewContactedReviewerListResult { + nextLink?: string; + value?: AccessReviewContactedReviewer[]; } // @public -export type AssignmentType = 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 AccessReviewDecisionIdentity { + readonly displayName?: string; + readonly id?: string; + type: "user" | "servicePrincipal"; +} // @public (undocumented) -export class AuthorizationManagementClient extends AuthorizationManagementClientContext { - constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); - // (undocumented) - eligibleChildResources: EligibleChildResources; - // (undocumented) - roleAssignments: RoleAssignments; - // (undocumented) - roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; - // (undocumented) - roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; - // (undocumented) - roleAssignmentSchedules: RoleAssignmentSchedules; - // (undocumented) - roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; - // (undocumented) - roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; - // (undocumented) - roleEligibilitySchedules: RoleEligibilitySchedules; - // (undocumented) - roleManagementPolicies: RoleManagementPolicies; - // (undocumented) - roleManagementPolicyAssignments: RoleManagementPolicyAssignments; +export type AccessReviewDecisionIdentityUnion = AccessReviewDecisionIdentity | AccessReviewDecisionUserIdentity | AccessReviewDecisionServicePrincipalIdentity; + +// @public +export interface AccessReviewDecisionInsight { + readonly id?: string; + readonly insightCreatedDateTime?: any; + readonly name?: string; + readonly type?: string; + typePropertiesType?: AccessReviewDecisionInsightType; +} + +// @public +export interface AccessReviewDecisionInsightProperties { + readonly insightCreatedDateTime?: any; + type: "userSignInInsight"; } // @public (undocumented) -export class AuthorizationManagementClientContext extends coreClient.ServiceClient { - // (undocumented) - $host: string; - constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); - // (undocumented) - apiVersion: string; - // (undocumented) - subscriptionId: string; +export type AccessReviewDecisionInsightPropertiesUnion = AccessReviewDecisionInsightProperties | AccessReviewDecisionUserSignInInsightProperties; + +// @public +export type AccessReviewDecisionInsightType = string; + +// @public +export interface AccessReviewDecisionListResult { + nextLink?: string; + value?: AccessReviewDecision[]; } // @public -export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { - $host?: string; - apiVersion?: string; - endpoint?: string; +export type AccessReviewDecisionPrincipalResourceMembershipType = string; + +// @public +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 interface CloudError { - error?: CloudErrorBody; +export interface AccessReviewDecisionServicePrincipalIdentity extends AccessReviewDecisionIdentity { + readonly appId?: string; + type: "servicePrincipal"; } // @public -export interface CloudErrorBody { - code?: string; - message?: string; +export interface AccessReviewDecisionUserIdentity extends AccessReviewDecisionIdentity { + type: "user"; + readonly userPrincipalName?: string; } // @public -export interface EligibleChildResource { +export interface AccessReviewDecisionUserSignInInsightProperties extends AccessReviewDecisionInsightProperties { + readonly lastSignInDateTime?: any; + type: "userSignInInsight"; +} + +// @public +export interface AccessReviewDefaultSettings { + autoApplyDecisionsEnabled?: boolean; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + endDate?: Date; readonly id?: string; + instanceDurationInDays?: number; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; readonly name?: string; + numberOfOccurrences?: number; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + startDate?: Date; readonly type?: string; + typePropertiesRecurrencePatternType?: AccessReviewRecurrencePatternType; + typePropertiesRecurrenceRangeType?: AccessReviewRecurrenceRangeType; } // @public -export interface EligibleChildResources { - list(scope: string, options?: EligibleChildResourcesGetOptionalParams): PagedAsyncIterableIterator; +export interface AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface EligibleChildResourcesGetNextOptionalParams extends coreClient.OperationOptions { - filter?: string; +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +// @public +export interface AccessReviewDefaultSettingsOperations { + get(options?: AccessReviewDefaultSettingsGetOptionalParams): Promise; + put(properties: AccessReviewScheduleSettings, options?: AccessReviewDefaultSettingsPutOptionalParams): Promise; } // @public -export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; +export interface AccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions { +} // @public -export interface EligibleChildResourcesGetOptionalParams extends coreClient.OperationOptions { - filter?: string; +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 AccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + +// @public +export interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; +export interface AccessReviewHistoryDefinitionInstance { + generateDownloadUri(historyDefinitionId: string, instanceId: string, options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; +} // @public -export interface EligibleChildResourcesListResult { +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; + +// @public +export interface AccessReviewHistoryDefinitionInstanceListResult { nextLink?: string; - value?: EligibleChildResource[]; + value?: AccessReviewHistoryInstance[]; } // @public -export type EnablementRules = string; +export interface AccessReviewHistoryDefinitionInstances { + list(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; +} // @public -export interface ErrorAdditionalInfo { - readonly info?: Record; - readonly type?: string; +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface ErrorDetail { - readonly additionalInfo?: ErrorAdditionalInfo[]; - readonly code?: string; - readonly details?: ErrorDetail[]; - readonly message?: string; - readonly target?: string; +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { } // @public -export interface ErrorResponse { - error?: ErrorDetail; +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface AccessReviewHistoryDefinitionListResult { + nextLink?: string; + value?: AccessReviewHistoryDefinition[]; } -// @public (undocumented) -export interface ExpandedProperties { - principal?: ExpandedPropertiesPrincipal; - roleDefinition?: ExpandedPropertiesRoleDefinition; - scope?: ExpandedPropertiesScope; +// @public +export interface AccessReviewHistoryDefinitionOperations { + create(historyDefinitionId: string, properties: AccessReviewHistoryDefinitionProperties, options?: AccessReviewHistoryDefinitionCreateOptionalParams): Promise; + deleteById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams): Promise; } // @public -export interface ExpandedPropertiesPrincipal { +export interface AccessReviewHistoryDefinitionProperties { + readonly createdDateTime?: Date; + decisions?: AccessReviewResult[]; displayName?: string; - email?: string; - id?: string; - type?: 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 interface ExpandedPropertiesRoleDefinition { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewHistoryDefinitions { + getById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams): Promise; + list(options?: AccessReviewHistoryDefinitionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export interface ExpandedPropertiesScope { +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + +// @public +export interface AccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export interface AccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export type AccessReviewHistoryDefinitionStatus = string; + +// @public +export interface AccessReviewHistoryInstance { displayName?: string; - id?: string; - type?: 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 enum KnownApprovalMode { - // (undocumented) - NoApproval = "NoApproval", - // (undocumented) - Parallel = "Parallel", - // (undocumented) - Serial = "Serial", - // (undocumented) - SingleStage = "SingleStage" +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 enum KnownAssignmentType { - // (undocumented) - Activated = "Activated", - // (undocumented) - Assigned = "Assigned" +export interface AccessReviewInstanceAcceptRecommendationsOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownEnablementRules { - // (undocumented) - Justification = "Justification", - // (undocumented) - MultiFactorAuthentication = "MultiFactorAuthentication", - // (undocumented) - Ticketing = "Ticketing" +export interface AccessReviewInstanceApplyDecisionsOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownMemberType { - // (undocumented) - Direct = "Direct", - // (undocumented) - Group = "Group", - // (undocumented) - Inherited = "Inherited" +export interface AccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; } // @public -export enum KnownNotificationDeliveryMechanism { - // (undocumented) - Email = "Email" +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownNotificationLevel { - // (undocumented) - All = "All", - // (undocumented) - Critical = "Critical", - // (undocumented) - None = "None" +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownPrincipalType { - // (undocumented) - Application = "Application", - // (undocumented) - Device = "Device", - // (undocumented) - DirectoryObjectOrGroup = "DirectoryObjectOrGroup", - // (undocumented) - DirectoryRoleTemplate = "DirectoryRoleTemplate", - // (undocumented) - Everyone = "Everyone", - // (undocumented) - ForeignGroup = "ForeignGroup", - // (undocumented) - Group = "Group", - // (undocumented) - MSI = "MSI", - // (undocumented) - ServicePrincipal = "ServicePrincipal", - // (undocumented) - Unknown = "Unknown", - // (undocumented) - User = "User" +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface AccessReviewInstanceDecisions { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceDecisionsListOptionalParams): PagedAsyncIterableIterator; } // @public -export enum KnownRecipientType { - // (undocumented) - Admin = "Admin", - // (undocumented) - Approver = "Approver", - // (undocumented) - Requestor = "Requestor" +export interface AccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export enum KnownRequestType { - // (undocumented) - AdminAssign = "AdminAssign", - // (undocumented) - AdminExtend = "AdminExtend", - // (undocumented) - AdminRemove = "AdminRemove", - // (undocumented) - AdminRenew = "AdminRenew", - // (undocumented) - AdminUpdate = "AdminUpdate", - // (undocumented) - SelfActivate = "SelfActivate", - // (undocumented) - SelfDeactivate = "SelfDeactivate", - // (undocumented) - SelfExtend = "SelfExtend", - // (undocumented) - SelfRenew = "SelfRenew" +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export enum KnownRoleManagementPolicyRuleType { - // (undocumented) - RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", - // (undocumented) - RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", - // (undocumented) - RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", - // (undocumented) - RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", - // (undocumented) - RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceListResult { + nextLink?: string; + value?: AccessReviewInstance[]; } // @public -export enum KnownStatus { - // (undocumented) - Accepted = "Accepted", - // (undocumented) - AdminApproved = "AdminApproved", - // (undocumented) - AdminDenied = "AdminDenied", - // (undocumented) - Canceled = "Canceled", - // (undocumented) - Denied = "Denied", - // (undocumented) - Failed = "Failed", - // (undocumented) - FailedAsResourceIsLocked = "FailedAsResourceIsLocked", - // (undocumented) - Granted = "Granted", - // (undocumented) - Invalid = "Invalid", - // (undocumented) - PendingAdminDecision = "PendingAdminDecision", - // (undocumented) - PendingApproval = "PendingApproval", - // (undocumented) - PendingApprovalProvisioning = "PendingApprovalProvisioning", - // (undocumented) - PendingEvaluation = "PendingEvaluation", - // (undocumented) - PendingExternalProvisioning = "PendingExternalProvisioning", - // (undocumented) - PendingProvisioning = "PendingProvisioning", - // (undocumented) - PendingRevocation = "PendingRevocation", - // (undocumented) - PendingScheduleCreation = "PendingScheduleCreation", - // (undocumented) - Provisioned = "Provisioned", - // (undocumented) - ProvisioningStarted = "ProvisioningStarted", - // (undocumented) - Revoked = "Revoked", - // (undocumented) - ScheduleCreated = "ScheduleCreated", - // (undocumented) - TimedOut = "TimedOut" +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 AccessReviewInstanceMyDecisionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownType { - // (undocumented) - AfterDateTime = "AfterDateTime", - // (undocumented) - AfterDuration = "AfterDuration", - // (undocumented) - NoExpiration = "NoExpiration" +export type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; + +// @public +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstanceMyDecisionsListNextResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceMyDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstanceMyDecisionsListResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceMyDecisionsPatchOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstanceMyDecisionsPatchResponse = AccessReviewDecision; + +// @public +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 interface AccessReviewInstanceProperties { + backupReviewers?: AccessReviewReviewer[]; + endDateTime?: Date; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewInstanceReviewersType; + startDateTime?: Date; + readonly status?: AccessReviewInstanceStatus; +} + +// @public +export interface AccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstanceReviewersType = string; + +// @public +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 interface AccessReviewInstancesAssignedForMyApproval { + getById(scheduleDefinitionId: string, id: string, options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams): Promise; + list(scheduleDefinitionId: string, options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstancesAssignedForMyApprovalGetByIdResponse = AccessReviewInstance; + +// @public +export interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstancesAssignedForMyApprovalListNextResponse = AccessReviewInstanceListResult; + +// @public +export interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstancesAssignedForMyApprovalListResponse = AccessReviewInstanceListResult; + +// @public +export interface AccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstancesCreateResponse = AccessReviewInstance; + +// @public +export interface AccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstancesGetByIdResponse = AccessReviewInstance; + +// @public +export interface AccessReviewInstancesListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; + +// @public +export interface AccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstancesListResponse = AccessReviewInstanceListResult; + +// @public +export type AccessReviewInstanceStatus = string; + +// @public +export interface AccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewRecurrencePatternType = string; + +// @public +export type AccessReviewRecurrenceRangeType = string; + +// @public +export type AccessReviewResult = string; + +// @public +export interface AccessReviewReviewer { + principalId?: string; + readonly principalType?: AccessReviewReviewerType; +} + +// @public +export type AccessReviewReviewerType = string; + +// @public +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 AccessReviewScheduleDefinitionListResult { + nextLink?: string; + value?: AccessReviewScheduleDefinition[]; +} + +// @public +export interface AccessReviewScheduleDefinitionProperties { + 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; + 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 AccessReviewScheduleDefinitionReviewersType = string; + +// @public +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 AccessReviewScheduleDefinitionsAssignedForMyApproval { + list(options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; + +// @public +export interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export enum KnownUserType { - // (undocumented) - Group = "Group", - // (undocumented) - User = "User" +export interface AccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type MemberType = string; +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; // @public -export type NotificationDeliveryMechanism = string; +export interface AccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; +} // @public -export type NotificationLevel = string; - -// @public (undocumented) -export interface PolicyAssignmentProperties { - policy?: PolicyAssignmentPropertiesPolicy; - roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; - scope?: PolicyAssignmentPropertiesScope; -} +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface PolicyAssignmentPropertiesPolicy { - id?: string; - readonly lastModifiedBy?: Principal; - lastModifiedDateTime?: Date; +export interface AccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export interface PolicyAssignmentPropertiesRoleDefinition { - displayName?: string; - id?: string; - type?: string; -} +export type AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface PolicyAssignmentPropertiesScope { - displayName?: string; - id?: string; - type?: string; +export interface AccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { } -// @public (undocumented) -export interface PolicyProperties { - readonly scope?: PolicyPropertiesScope; -} +// @public +export type AccessReviewScheduleDefinitionStatus = string; // @public -export interface PolicyPropertiesScope { - displayName?: string; - id?: string; - type?: string; +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 Principal { - displayName?: string; - email?: string; - id?: string; - type?: string; +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 type PrincipalType = string; +export type AccessReviewScopeAssignmentState = string; // @public -export type RecipientType = string; +export type AccessReviewScopePrincipalType = string; // @public -export type RequestType = string; +export interface Alert { + readonly alertConfiguration?: AlertConfiguration; + readonly alertDefinition?: AlertDefinition; + readonly alertIncidents?: AlertIncident[]; + readonly id?: string; + readonly incidentCount?: number; + isActive?: boolean; + readonly lastModifiedDateTime?: Date; + readonly lastScannedDateTime?: Date; + readonly name?: string; + readonly scope?: string; + readonly type?: string; +} // @public -export interface RoleAssignment { - condition?: string; - conditionVersion?: string; - readonly createdBy?: string; - readonly createdOn?: Date; - delegatedManagedIdentityResourceId?: string; - description?: string; +export interface AlertConfiguration { + alertConfigurationType?: string; + readonly alertDefinition?: AlertDefinition; + readonly alertDefinitionId?: string; readonly id?: string; + isEnabled?: boolean; readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleDefinitionId?: string; readonly scope?: string; readonly type?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; } // @public -export interface RoleAssignmentCreateParameters { - condition?: string; - conditionVersion?: string; - readonly createdBy?: string; - readonly createdOn?: Date; - delegatedManagedIdentityResourceId?: string; - description?: string; - principalId: string; - principalType?: PrincipalType; - roleDefinitionId: string; +export interface AlertConfigurationListResult { + nextLink?: string; + value?: AlertConfiguration[]; +} + +// @public +export interface AlertConfigurationProperties { + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration" | "DuplicateRoleCreatedAlertConfiguration" | "TooManyOwnersAssignedToResourceAlertConfiguration" | "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + readonly alertDefinition?: AlertDefinition; + readonly alertDefinitionId?: string; + isEnabled?: boolean; readonly scope?: string; - readonly updatedBy?: string; - readonly updatedOn?: Date; } +// @public (undocumented) +export type AlertConfigurationPropertiesUnion = AlertConfigurationProperties | AzureRolesAssignedOutsidePimAlertConfigurationProperties | DuplicateRoleCreatedAlertConfigurationProperties | TooManyOwnersAssignedToResourceAlertConfigurationProperties | TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; + // @public -export interface RoleAssignmentFilter { - principalId?: string; +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 RoleAssignmentListResult { - readonly nextLink?: string; - value?: RoleAssignment[]; +export interface AlertConfigurationsGetOptionalParams extends coreClient.OperationOptions { } // @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; - validate(scope: string, roleAssignmentName: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsValidateOptionalParams): Promise; - validateById(roleAssignmentId: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsValidateByIdOptionalParams): Promise; +export type AlertConfigurationsGetResponse = AlertConfiguration; + +// @public +export interface AlertConfigurationsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentSchedule { - assignmentType?: AssignmentType; - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; - readonly id?: string; - linkedRoleEligibilityScheduleId?: string; - memberType?: MemberType; - readonly name?: string; - principalId?: string; - principalType?: PrincipalType; - roleAssignmentScheduleRequestId?: string; - roleDefinitionId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; - readonly type?: string; - updatedOn?: Date; +export type AlertConfigurationsListForScopeNextResponse = AlertConfigurationListResult; + +// @public +export interface AlertConfigurationsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleFilter { - principalId?: string; - roleDefinitionId?: string; - status?: string; +export type AlertConfigurationsListForScopeResponse = AlertConfigurationListResult; + +// @public +export interface AlertConfigurationsUpdateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleInstance { - assignmentType?: AssignmentType; - condition?: string; - conditionVersion?: string; - createdOn?: Date; - endDateTime?: Date; - expandedProperties?: ExpandedProperties; +export interface AlertDefinition { + readonly description?: string; + readonly displayName?: string; + readonly howToPrevent?: string; readonly id?: string; - linkedRoleEligibilityScheduleId?: string; - linkedRoleEligibilityScheduleInstanceId?: string; - memberType?: MemberType; + readonly isConfigurable?: boolean; + readonly isRemediatable?: boolean; + readonly mitigationSteps?: string; readonly name?: string; - originRoleAssignmentId?: string; - principalId?: string; - principalType?: PrincipalType; - roleAssignmentScheduleId?: string; - roleDefinitionId?: string; - scope?: string; - startDateTime?: Date; - status?: Status; + readonly scope?: string; + readonly securityImpact?: string; + readonly severityLevel?: SeverityLevel; readonly type?: string; } // @public -export interface RoleAssignmentScheduleInstanceFilter { - principalId?: string; - roleAssignmentScheduleId?: string; - roleDefinitionId?: string; - status?: string; -} - -// @public -export interface RoleAssignmentScheduleInstanceListResult { +export interface AlertDefinitionListResult { nextLink?: string; - value?: RoleAssignmentScheduleInstance[]; + value?: AlertDefinition[]; } // @public -export interface RoleAssignmentScheduleInstances { - get(scope: string, roleAssignmentScheduleInstanceName: string, options?: RoleAssignmentScheduleInstancesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +export interface AlertDefinitions { + get(scope: string, alertDefinitionId: string, options?: AlertDefinitionsGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertDefinitionsListForScopeOptionalParams): PagedAsyncIterableIterator; } // @public -export interface RoleAssignmentScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +export interface AlertDefinitionsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; +export type AlertDefinitionsGetResponse = AlertDefinition; // @public -export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertDefinitionsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; +export type AlertDefinitionsListForScopeNextResponse = AlertDefinitionListResult; // @public -export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertDefinitionsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; - -// @public -export interface RoleAssignmentScheduleListResult { - nextLink?: string; - value?: RoleAssignmentSchedule[]; -} +export type AlertDefinitionsListForScopeResponse = AlertDefinitionListResult; // @public -export interface RoleAssignmentScheduleRequest { - readonly approvalId?: string; - condition?: string; - conditionVersion?: string; - readonly createdOn?: Date; - readonly expandedProperties?: ExpandedProperties; +export interface AlertIncident { + alertIncidentType?: string; readonly id?: string; - justification?: string; - linkedRoleEligibilityScheduleId?: 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 type?: string; } // @public -export interface RoleAssignmentScheduleRequestFilter { - principalId?: string; - requestorId?: string; - roleDefinitionId?: string; - status?: string; +export interface AlertIncidentListResult { + nextLink?: string; + value?: AlertIncident[]; } // @public -export interface RoleAssignmentScheduleRequestListResult { - nextLink?: string; - value?: RoleAssignmentScheduleRequest[]; +export interface AlertIncidentProperties { + alertIncidentType: "AzureRolesAssignedOutsidePimAlertIncident" | "DuplicateRoleCreatedAlertIncident" | "TooManyOwnersAssignedToResourceAlertIncident" | "TooManyPermanentOwnersAssignedToResourceAlertIncident"; } +// @public (undocumented) +export type AlertIncidentPropertiesUnion = AlertIncidentProperties | AzureRolesAssignedOutsidePimAlertIncidentProperties | DuplicateRoleCreatedAlertIncidentProperties | TooManyOwnersAssignedToResourceAlertIncidentProperties | TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties; + // @public -export interface RoleAssignmentScheduleRequestPropertiesScheduleInfo { - expiration?: RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration; - startDateTime?: Date; +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 RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration { - duration?: string; - endDateTime?: Date; - type?: Type; +export interface AlertIncidentsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequestPropertiesTicketInfo { - ticketNumber?: string; - ticketSystem?: string; +export type AlertIncidentsGetResponse = AlertIncident; + +// @public +export interface AlertIncidentsListForScopeNextOptionalParams 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; +export type AlertIncidentsListForScopeNextResponse = AlertIncidentListResult; + +// @public +export interface AlertIncidentsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +export type AlertIncidentsListForScopeResponse = AlertIncidentListResult; + +// @public +export interface AlertIncidentsRemediateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleAssignmentScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +export interface AlertListResult { + nextLink?: string; + value?: Alert[]; } // @public -export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; +export interface AlertOperation { + get(scope: string, operationId: string, options?: AlertOperationGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertOperationListForScopeOptionalParams): Promise; +} // @public -export interface RoleAssignmentScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { +export interface AlertOperationGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; +export type AlertOperationGetResponse = AlertOperationResult; // @public -export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertOperationListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; +export type AlertOperationListForScopeResponse = AlertOperationListResult; // @public -export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertOperationListResult { + nextLink?: string; + value?: AlertOperationResult[]; } // @public -export type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; +export interface AlertOperationResult { + readonly id?: string; + readonly status?: string; +} // @public -export interface RoleAssignmentSchedules { - get(scope: string, roleAssignmentScheduleName: string, options?: RoleAssignmentSchedulesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleAssignmentSchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; +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 RoleAssignmentSchedulesGetOptionalParams extends coreClient.OperationOptions { +export interface AlertsGetOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; +export type AlertsGetResponse = Alert; // @public -export interface RoleAssignmentSchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertsListForScopeNextOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; +export type AlertsListForScopeNextResponse = AlertListResult; // @public -export interface RoleAssignmentSchedulesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface AlertsListForScopeOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; +export type AlertsListForScopeResponse = AlertListResult; // @public -export interface RoleAssignmentsCreateByIdOptionalParams extends coreClient.OperationOptions { +export interface AlertsRefreshAllHeaders { + // (undocumented) + location?: string; } // @public -export type RoleAssignmentsCreateByIdResponse = RoleAssignment; +export interface AlertsRefreshAllOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} // @public -export interface RoleAssignmentsCreateOptionalParams extends coreClient.OperationOptions { -} +export type AlertsRefreshAllResponse = AlertsRefreshAllHeaders & AlertOperationResult; // @public -export type RoleAssignmentsCreateResponse = RoleAssignment; +export interface AlertsRefreshHeaders { + // (undocumented) + location?: string; +} // @public -export interface RoleAssignmentsDeleteByIdOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AlertsRefreshOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; } // @public -export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; // @public -export interface RoleAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AlertsUpdateOptionalParams extends coreClient.OperationOptions { } -// @public -export type RoleAssignmentsDeleteResponse = 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 RoleAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { - tenantId?: string; +export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { + $host?: string; + endpoint?: string; } // @public -export type RoleAssignmentsGetByIdResponse = RoleAssignment; +export interface AzureRolesAssignedOutsidePimAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration"; +} // @public -export interface RoleAssignmentsGetOptionalParams extends coreClient.OperationOptions { - 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 RoleAssignmentsGetResponse = RoleAssignment; +export interface CloudError { + error?: CloudErrorBody; +} // @public -export interface RoleAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export interface CloudErrorBody { + code?: string; + message?: string; } // @public -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; +export type DecisionResourceType = string; // @public -export interface RoleAssignmentsListForResourceGroupOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; -} +export type DecisionTargetType = string; // @public -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; +export type DefaultDecisionType = string; // @public -export interface RoleAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export interface DuplicateRoleCreatedAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "DuplicateRoleCreatedAlertConfiguration"; } // @public -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; +export interface DuplicateRoleCreatedAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "DuplicateRoleCreatedAlertIncident"; + readonly duplicateRoles?: string; + readonly reason?: string; + readonly roleName?: string; +} // @public -export interface RoleAssignmentsListForResourceOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export interface ErrorDefinition { + error?: ErrorDefinitionProperties; } // @public -export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; +export interface ErrorDefinitionProperties { + code?: string; + readonly message?: string; +} // @public -export interface RoleAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export enum KnownAccessRecommendationType { + Approve = "Approve", + Deny = "Deny", + NoInfoAvailable = "NoInfoAvailable" } // @public -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; +export enum KnownAccessReviewActorIdentityType { + ServicePrincipal = "servicePrincipal", + User = "user" +} // @public -export interface RoleAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export enum KnownAccessReviewApplyResult { + AppliedSuccessfully = "AppliedSuccessfully", + AppliedSuccessfullyButObjectNotFound = "AppliedSuccessfullyButObjectNotFound", + AppliedWithUnknownFailure = "AppliedWithUnknownFailure", + Applying = "Applying", + ApplyNotSupported = "ApplyNotSupported", + New = "New" } // @public -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; +export enum KnownAccessReviewDecisionInsightType { + UserSignInInsight = "userSignInInsight" +} // @public -export interface RoleAssignmentsListForSubscriptionNextOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export enum KnownAccessReviewDecisionPrincipalResourceMembershipType { + Direct = "direct", + Indirect = "indirect" } // @public -export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; +export enum KnownAccessReviewHistoryDefinitionStatus { + Done = "Done", + Error = "Error", + InProgress = "InProgress", + Requested = "Requested" +} // @public -export interface RoleAssignmentsListForSubscriptionOptionalParams extends coreClient.OperationOptions { - filter?: string; - tenantId?: string; +export enum KnownAccessReviewInstanceReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" } // @public -export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; +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 interface RoleAssignmentsValidateByIdOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewRecurrencePatternType { + AbsoluteMonthly = "absoluteMonthly", + Weekly = "weekly" } // @public -export type RoleAssignmentsValidateByIdResponse = ValidationResponse; +export enum KnownAccessReviewRecurrenceRangeType { + EndDate = "endDate", + NoEnd = "noEnd", + Numbered = "numbered" +} // @public -export interface RoleAssignmentsValidateOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewResult { + Approve = "Approve", + Deny = "Deny", + DontKnow = "DontKnow", + NotNotified = "NotNotified", + NotReviewed = "NotReviewed" } // @public -export type RoleAssignmentsValidateResponse = ValidationResponse; +export enum KnownAccessReviewReviewerType { + ServicePrincipal = "servicePrincipal", + User = "user" +} // @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 KnownAccessReviewScheduleDefinitionReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" } // @public -export interface RoleEligibilityScheduleFilter { - principalId?: string; - roleDefinitionId?: string; - status?: string; +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 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 enum KnownAccessReviewScopeAssignmentState { + Active = "active", + Eligible = "eligible" } // @public -export interface RoleEligibilityScheduleInstanceFilter { - principalId?: string; - roleDefinitionId?: string; - roleEligibilityScheduleId?: string; - status?: string; +export enum KnownAccessReviewScopePrincipalType { + GuestUser = "guestUser", + RedeemedGuestUser = "redeemedGuestUser", + ServicePrincipal = "servicePrincipal", + User = "user", + UserGroup = "user,group" } // @public -export interface RoleEligibilityScheduleInstanceListResult { - nextLink?: string; - value?: RoleEligibilityScheduleInstance[]; +export enum KnownDecisionResourceType { + AzureRole = "azureRole" } // @public -export interface RoleEligibilityScheduleInstances { - get(scope: string, roleEligibilityScheduleInstanceName: string, options?: RoleEligibilityScheduleInstancesGetOptionalParams): Promise; - listForScope(scope: string, options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; +export enum KnownDecisionTargetType { + ServicePrincipal = "servicePrincipal", + User = "user" } // @public -export interface RoleEligibilityScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { +export enum KnownDefaultDecisionType { + Approve = "Approve", + Deny = "Deny", + Recommendation = "Recommendation" } // @public -export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; +export enum KnownRecordAllDecisionsResult { + Approve = "Approve", + Deny = "Deny" +} // @public -export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { - filter?: string; +export enum KnownSeverityLevel { + High = "High", + Low = "Low", + Medium = "Medium" } // @public -export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; +export interface Operation { + display?: OperationDisplay; + isDataAction?: boolean; + name?: string; + origin?: string; +} // @public -export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export interface OperationDisplay { + readonly description?: string; + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; } // @public -export type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; +export interface OperationListResult { + nextLink?: string; + value?: Operation[]; +} // @public -export interface RoleEligibilityScheduleListResult { - nextLink?: string; - value?: RoleEligibilitySchedule[]; +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; } // @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 OperationsListNextOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestFilter { - principalId?: string; - requestorId?: string; - roleDefinitionId?: string; - status?: string; +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestListResult { - nextLink?: string; - value?: RoleEligibilityScheduleRequest[]; +export type OperationsListResponse = OperationListResult; + +// @public +export interface RecordAllDecisionsProperties { + decision?: RecordAllDecisionsResult; + justification?: string; + readonly principalId?: string; + readonly resourceId?: string; } // @public -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfo { - expiration?: RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration; - startDateTime?: Date; +export type RecordAllDecisionsResult = string; + +// @public +export interface ScopeAccessReviewDefaultSettings { + get(scope: string, options?: ScopeAccessReviewDefaultSettingsGetOptionalParams): Promise; + put(scope: string, properties: AccessReviewScheduleSettings, options?: ScopeAccessReviewDefaultSettingsPutOptionalParams): Promise; } // @public -export interface RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration { - duration?: string; - endDateTime?: Date; - type?: Type; +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestPropertiesTicketInfo { - ticketNumber?: string; - ticketSystem?: string; +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +// @public +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams 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; +export type ScopeAccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; + +// @public +export interface ScopeAccessReviewHistoryDefinition { + create(scope: string, historyDefinitionId: string, properties: AccessReviewHistoryDefinitionProperties, options?: ScopeAccessReviewHistoryDefinitionCreateOptionalParams): Promise; + deleteById(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams): Promise; } // @public -export interface RoleEligibilityScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { +export interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions { } // @public -export interface RoleEligibilityScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + +// @public +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; +export interface ScopeAccessReviewHistoryDefinitionInstance { + generateDownloadUri(scope: string, historyDefinitionId: string, instanceId: string, options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; +} // @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 { - filter?: string; +export interface ScopeAccessReviewHistoryDefinitionInstances { + list(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; } // @public -export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { - filter?: string; +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; +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 { filter?: string; } // @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 { + filter?: string; +} + +// @public +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; // @public -export interface RoleManagementPoliciesUpdateOptionalParams extends coreClient.OperationOptions { +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 type RoleManagementPolicyApprovalRule = RoleManagementPolicyRule & { - ruleType: "RoleManagementPolicyApprovalRule"; - setting?: ApprovalSettings; -}; +export interface ScopeAccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions { +} // @public -export interface RoleManagementPolicyAssignment { - 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 { + filter?: string; } // @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 type RoleManagementPolicyAuthenticationContextRule = RoleManagementPolicyRule & { - ruleType: "RoleManagementPolicyAuthenticationContextRule"; - isEnabled?: boolean; - claimValue?: string; -}; +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions { +} // @public -export type RoleManagementPolicyEnablementRule = RoleManagementPolicyRule & { - ruleType: "RoleManagementPolicyEnablementRule"; - enabledRules?: EnablementRules[]; -}; +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +} // @public -export type RoleManagementPolicyExpirationRule = RoleManagementPolicyRule & { - ruleType: "RoleManagementPolicyExpirationRule"; - isExpirationRequired?: boolean; - maximumDuration?: string; -}; +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; // @public -export interface RoleManagementPolicyListResult { - nextLink?: string; - value?: RoleManagementPolicy[]; +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export type RoleManagementPolicyNotificationRule = RoleManagementPolicyRule & { - ruleType: "RoleManagementPolicyNotificationRule"; - notificationType?: NotificationDeliveryMechanism; - notificationLevel?: NotificationLevel; - recipientType?: RecipientType; - notificationRecipients?: string[]; - isDefaultRecipientsEnabled?: boolean; -}; +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; // @public -export interface RoleManagementPolicyRule { - id?: string; - ruleType: "RoleManagementPolicyApprovalRule" | "RoleManagementPolicyAuthenticationContextRule" | "RoleManagementPolicyEnablementRule" | "RoleManagementPolicyExpirationRule" | "RoleManagementPolicyNotificationRule"; - target?: RoleManagementPolicyRuleTarget; +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; } // @public -export interface RoleManagementPolicyRuleTarget { - caller?: string; - enforcedSettings?: string[]; - inheritableSettings?: string[]; - level?: string; - operations?: string[]; - targetObjects?: string[]; +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { } // @public -export type RoleManagementPolicyRuleType = string; +export type SeverityLevel = string; -// @public (undocumented) -export type RoleManagementPolicyRuleUnion = RoleManagementPolicyRule | RoleManagementPolicyApprovalRule | RoleManagementPolicyAuthenticationContextRule | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; +// @public +export interface TenantLevelAccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; +} // @public -export type Status = string; +export interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} // @public -export type Type = string; +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; // @public -export interface UserSet { - description?: string; - id?: string; - isBackup?: boolean; - userType?: UserType; +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { } // @public -export type UserType = string; +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; // @public -export interface ValidationResponse { - errorInfo?: ValidationResponseErrorInfo; - readonly isValid?: boolean; +export interface TooManyOwnersAssignedToResourceAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "TooManyOwnersAssignedToResourceAlertConfiguration"; + thresholdNumberOfOwners?: number; + thresholdPercentageOfOwnersOutOfAllRoleMembers?: number; } // @public -export interface ValidationResponseErrorInfo { - readonly code?: string; - readonly message?: string; +export interface TooManyOwnersAssignedToResourceAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "TooManyOwnersAssignedToResourceAlertIncident"; + readonly assigneeName?: string; + readonly assigneeType?: string; +} + +// @public +export interface TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration"; + thresholdNumberOfPermanentOwners?: number; + thresholdPercentageOfPermanentOwnersOutOfAllOwners?: number; } +// @public +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/rollup.config.js b/sdk/authorization/arm-authorization/rollup.config.js index 9be1955eb7f1..3f89d7309da5 100644 --- a/sdk/authorization/arm-authorization/rollup.config.js +++ b/sdk/authorization/arm-authorization/rollup.config.js @@ -14,62 +14,14 @@ import json from "@rollup/plugin-json"; import nodeBuiltins from "builtin-modules"; -/** - * Gets the proper configuration needed for rollup's commonJS plugin for @opentelemetry/api. - * - * NOTE: this manual configuration is only needed because OpenTelemetry uses an - * __exportStar downleveled helper function to declare its exports which confuses - * rollup's automatic discovery mechanism. - * - * @returns an object reference that can be `...`'d into your cjs() configuration. - */ -export function openTelemetryCommonJs() { - const namedExports = {}; - - for (const key of [ - "@opentelemetry/api", - "@azure/core-tracing/node_modules/@opentelemetry/api" - ]) { - namedExports[key] = [ - "SpanKind", - "TraceFlags", - "getSpan", - "setSpan", - "SpanStatusCode", - "getSpanContext", - "setSpanContext" - ]; - } - - const releasedOpenTelemetryVersions = ["0.10.2", "1.0.0-rc.0"]; - - for (const version of releasedOpenTelemetryVersions) { - namedExports[ - // working around a limitation in the rollup common.js plugin - it's not able to resolve these modules so the named exports listed above will not get applied. We have to drill down to the actual path. - `../../../common/temp/node_modules/.pnpm/@opentelemetry/api@${version}/node_modules/@opentelemetry/api/build/src/index.js` - ] = [ - "SpanKind", - "TraceFlags", - "getSpan", - "setSpan", - "StatusCode", - "CanonicalCode", - "getSpanContext", - "setSpanContext" - ]; - } - - return namedExports; -} - // #region Warning Handler /** - * A function that can determine whether a rollupwarning should be ignored. If + * A function that can determine whether a rollup warning should be ignored. If * the function returns `true`, then the warning will not be displayed. */ -function ignoreNiseSinonEvalWarnings(warning) { +function ignoreNiseSinonEval(warning) { return ( warning.code === "EVAL" && warning.id && @@ -78,17 +30,14 @@ function ignoreNiseSinonEvalWarnings(warning) { ); } -function ignoreChaiCircularDependencyWarnings(warning) { +function ignoreChaiCircularDependency(warning) { return ( warning.code === "CIRCULAR_DEPENDENCY" && warning.importer && warning.importer.includes("node_modules/chai") === true ); } -const warningInhibitors = [ - ignoreChaiCircularDependencyWarnings, - ignoreNiseSinonEvalWarnings -]; +const warningInhibitors = [ignoreChaiCircularDependency, ignoreNiseSinonEval]; /** * Construct a warning handler for the shared rollup configuration @@ -122,22 +71,7 @@ function makeBrowserTestConfig() { nodeResolve({ mainFields: ["module", "browser"] }), - cjs({ - namedExports: { - // Chai's strange internal architecture makes it impossible to statically - // analyze its exports. - chai: [ - "version", - "use", - "util", - "config", - "expect", - "should", - "assert" - ], - ...openTelemetryCommonJs() - } - }), + cjs(), json(), sourcemaps() //viz({ filename: "dist-test/browser-stats.html", sourcemap: true }) @@ -173,7 +107,7 @@ export function makeConfig(pkg, options) { ], output: { file: "dist/index.js", format: "cjs", sourcemap: true }, preserveSymlinks: false, - plugins: [sourcemaps(), nodeResolve(), cjs()] + plugins: [sourcemaps(), nodeResolve()] }; const config = [baseConfig]; diff --git a/sdk/authorization/arm-authorization/sample.env b/sdk/authorization/arm-authorization/sample.env new file mode 100644 index 000000000000..672847a3fea0 --- /dev/null +++ b/sdk/authorization/arm-authorization/sample.env @@ -0,0 +1,4 @@ +# App registration secret for AAD authentication +AZURE_CLIENT_SECRET= +AZURE_CLIENT_ID= +AZURE_TENANT_ID= \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts index 23ac722e0ca1..2b456a1783df 100644 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts +++ b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts @@ -6,35 +6,79 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ +import * as coreClient from "@azure/core-client"; +import * as coreRestPipeline from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { - RoleAssignmentSchedulesImpl, - RoleAssignmentScheduleInstancesImpl, - RoleAssignmentScheduleRequestsImpl, - RoleEligibilitySchedulesImpl, - RoleEligibilityScheduleInstancesImpl, - RoleEligibilityScheduleRequestsImpl, - RoleManagementPoliciesImpl, - RoleManagementPolicyAssignmentsImpl, - EligibleChildResourcesImpl, - RoleAssignmentsImpl + 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 { - RoleAssignmentSchedules, - RoleAssignmentScheduleInstances, - RoleAssignmentScheduleRequests, - RoleEligibilitySchedules, - RoleEligibilityScheduleInstances, - RoleEligibilityScheduleRequests, - RoleManagementPolicies, - RoleManagementPolicyAssignments, - EligibleChildResources, - RoleAssignments + 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 { AuthorizationManagementClientContext } from "./authorizationManagementClientContext"; import { AuthorizationManagementClientOptionalParams } from "./models"; -export class AuthorizationManagementClient extends AuthorizationManagementClientContext { +export class AuthorizationManagementClient extends coreClient.ServiceClient { + $host: string; + subscriptionId: string; + /** * Initializes a new instance of the AuthorizationManagementClient class. * @param credentials Subscription credentials which uniquely identify client subscription. @@ -46,37 +90,178 @@ export class AuthorizationManagementClient extends AuthorizationManagementClient subscriptionId: string, options?: AuthorizationManagementClientOptionalParams ) { - super(credentials, subscriptionId, options); - this.roleAssignmentSchedules = new RoleAssignmentSchedulesImpl(this); - this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesImpl( + if (credentials === undefined) { + throw new Error("'credentials' cannot be null"); + } + if (subscriptionId === undefined) { + throw new Error("'subscriptionId' cannot be null"); + } + + // Initializing default values for options + if (!options) { + options = {}; + } + const defaults: AuthorizationManagementClientOptionalParams = { + requestContentType: "application/json; charset=utf-8", + credential: credentials + }; + + const packageDetails = `azsdk-js-arm-authorization/9.0.0-beta.4`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + + if (!options.credentialScopes) { + options.credentialScopes = ["https://management.azure.com/.default"]; + } + const optionsWithDefaults = { + ...defaults, + ...options, + userAgentOptions: { + userAgentPrefix + }, + baseUri: + options.endpoint ?? options.baseUri ?? "https://management.azure.com" + }; + super(optionsWithDefaults); + + let bearerTokenAuthenticationPolicyFound: boolean = false; + if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { + const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); + bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + (pipelinePolicy) => + pipelinePolicy.name === + coreRestPipeline.bearerTokenAuthenticationPolicyName + ); + } + if ( + !options || + !options.pipeline || + options.pipeline.getOrderedPolicies().length == 0 || + !bearerTokenAuthenticationPolicyFound + ) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + credential: credentials, + scopes: `${optionsWithDefaults.credentialScopes}`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); + } + // Parameter assignments + this.subscriptionId = subscriptionId; + + // Assigning values to Constant parameters + this.$host = options.$host || "https://management.azure.com"; + this.operations = new OperationsImpl(this); + this.accessReviewHistoryDefinitions = new AccessReviewHistoryDefinitionsImpl( + this + ); + this.accessReviewHistoryDefinitionOperations = new AccessReviewHistoryDefinitionOperationsImpl( + this + ); + this.accessReviewHistoryDefinitionInstance = new AccessReviewHistoryDefinitionInstanceImpl( + this + ); + this.accessReviewHistoryDefinitionInstances = new AccessReviewHistoryDefinitionInstancesImpl( + this + ); + this.accessReviewScheduleDefinitions = new AccessReviewScheduleDefinitionsImpl( + this + ); + 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.roleAssignmentScheduleRequests = new RoleAssignmentScheduleRequestsImpl( + this.accessReviewScheduleDefinitionsAssignedForMyApproval = new AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl( this ); - this.roleEligibilitySchedules = new RoleEligibilitySchedulesImpl(this); - this.roleEligibilityScheduleInstances = new RoleEligibilityScheduleInstancesImpl( + this.accessReviewInstancesAssignedForMyApproval = new AccessReviewInstancesAssignedForMyApprovalImpl( this ); - this.roleEligibilityScheduleRequests = new RoleEligibilityScheduleRequestsImpl( + this.accessReviewInstanceMyDecisions = new AccessReviewInstanceMyDecisionsImpl( this ); - this.roleManagementPolicies = new RoleManagementPoliciesImpl(this); - this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsImpl( + this.tenantLevelAccessReviewInstanceContactedReviewers = new TenantLevelAccessReviewInstanceContactedReviewersImpl( this ); - this.eligibleChildResources = new EligibleChildResourcesImpl(this); - this.roleAssignments = new RoleAssignmentsImpl(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); } - roleAssignmentSchedules: RoleAssignmentSchedules; - roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; - roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; - roleEligibilitySchedules: RoleEligibilitySchedules; - roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; - roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; - roleManagementPolicies: RoleManagementPolicies; - roleManagementPolicyAssignments: RoleManagementPolicyAssignments; - eligibleChildResources: EligibleChildResources; - roleAssignments: RoleAssignments; + 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/authorizationManagementClientContext.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.ts deleted file mode 100644 index 5cc28f392655..000000000000 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClientContext.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 * as coreClient from "@azure/core-client"; -import * as coreAuth from "@azure/core-auth"; -import { AuthorizationManagementClientOptionalParams } from "./models"; - -export class AuthorizationManagementClientContext extends coreClient.ServiceClient { - $host: string; - apiVersion: string; - subscriptionId: string; - - /** - * Initializes a new instance of the AuthorizationManagementClientContext class. - * @param credentials Subscription credentials which uniquely identify client subscription. - * @param subscriptionId The ID of the target subscription. - * @param options The parameter options - */ - constructor( - credentials: coreAuth.TokenCredential, - subscriptionId: string, - options?: AuthorizationManagementClientOptionalParams - ) { - if (credentials === undefined) { - throw new Error("'credentials' cannot be null"); - } - if (subscriptionId === undefined) { - throw new Error("'subscriptionId' cannot be null"); - } - - // Initializing default values for options - if (!options) { - options = {}; - } - const defaults: AuthorizationManagementClientOptionalParams = { - requestContentType: "application/json; charset=utf-8", - credential: credentials - }; - - const packageDetails = `azsdk-js-arm-authorization/9.0.0-beta.1`; - const userAgentPrefix = - options.userAgentOptions && options.userAgentOptions.userAgentPrefix - ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` - : `${packageDetails}`; - - if (!options.credentialScopes) { - options.credentialScopes = ["https://management.azure.com/.default"]; - } - const optionsWithDefaults = { - ...defaults, - ...options, - userAgentOptions: { - userAgentPrefix - }, - baseUri: options.endpoint || "https://management.azure.com" - }; - super(optionsWithDefaults); - // Parameter assignments - this.subscriptionId = subscriptionId; - - // Assigning values to Constant parameters - this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2020-10-01-preview"; - } -} diff --git a/sdk/authorization/arm-authorization/src/index.ts b/sdk/authorization/arm-authorization/src/index.ts index 4902352993d2..bfd87d5d1ad6 100644 --- a/sdk/authorization/arm-authorization/src/index.ts +++ b/sdk/authorization/arm-authorization/src/index.ts @@ -9,5 +9,4 @@ /// export * from "./models"; export { AuthorizationManagementClient } from "./authorizationManagementClient"; -export { AuthorizationManagementClientContext } from "./authorizationManagementClientContext"; export * from "./operationsInterfaces"; diff --git a/sdk/authorization/arm-authorization/src/lroImpl.ts b/sdk/authorization/arm-authorization/src/lroImpl.ts new file mode 100644 index 000000000000..518d5f053b4e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/lroImpl.ts @@ -0,0 +1,34 @@ +/* + * 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 { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export class LroImpl implements LongRunningOperation { + constructor( + private sendOperationFn: (args: any, spec: any) => Promise>, + private args: Record, + private spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record, + public requestPath: string = spec.path!, + public requestMethod: string = spec.httpMethod + ) {} + public async sendInitialRequest(): Promise> { + return this.sendOperationFn(this.args, this.spec); + } + public async sendPollRequest(path: string): Promise> { + const { requestBody, ...restSpec } = this.spec; + return this.sendOperationFn(this.args, { + ...restSpec, + path, + httpMethod: "GET" + }); + } +} diff --git a/sdk/authorization/arm-authorization/src/models/index.ts b/sdk/authorization/arm-authorization/src/models/index.ts index 2e4c005cd3fc..9e54dc336d39 100644 --- a/sdk/authorization/arm-authorization/src/models/index.ts +++ b/sdk/authorization/arm-authorization/src/models/index.ts @@ -8,730 +8,691 @@ import * as coreClient from "@azure/core-client"; -export type RoleManagementPolicyRuleUnion = - | RoleManagementPolicyRule - | RoleManagementPolicyApprovalRule - | RoleManagementPolicyAuthenticationContextRule - | RoleManagementPolicyEnablementRule - | RoleManagementPolicyExpirationRule - | RoleManagementPolicyNotificationRule; +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; +} + +/** The definition of a Microsoft.Authorization operation. */ +export interface Operation { + /** Name of the operation */ + name?: string; + /** Indicates whether the operation is a data action */ + isDataAction?: boolean; + /** Display of the operation */ + display?: OperationDisplay; + /** Origin of the operation */ + origin?: string; +} -/** Role Assignment schedule */ -export interface RoleAssignmentSchedule { +/** The display information for a Microsoft.Authorization operation. */ +export interface OperationDisplay { /** - * The role assignment schedule Id. + * The resource provider name: Microsoft.Authorization. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly provider?: string; /** - * The role assignment schedule name. + * The resource on which the operation is performed. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly resource?: string; /** - * The role assignment schedule type. + * The operation that users can perform. * 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 */ - startDateTime?: Date; - /** End DateTime when role assignment 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 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; -} - -/** 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; + readonly operation?: string; + /** + * The description for the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly description?: string; } -/** An error response from the service. */ -export interface CloudError { - /** An error response from the service. */ - error?: CloudErrorBody; +/** Error description and code explaining why an operation failed. */ +export interface ErrorDefinition { + /** Error of the list gateway status. */ + error?: ErrorDefinitionProperties; } -/** An error response from the service. */ -export interface CloudErrorBody { - /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ +/** Error description and code explaining why an operation failed. */ +export interface ErrorDefinitionProperties { + /** + * Description of the error. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** Error code of list gateway. */ code?: string; - /** A message describing the error, intended to be suitable for display in a user interface. */ - message?: string; -} - -/** Role assignment schedule list operation result. */ -export interface RoleAssignmentScheduleListResult { - /** Role assignment schedule list. */ - value?: RoleAssignmentSchedule[]; - /** 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 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; } -/** Information about current or upcoming role assignment schedule instance */ -export interface RoleAssignmentScheduleInstance { +/** Access Review History Definition. */ +export interface AccessReviewHistoryDefinition { /** - * The role assignment schedule instance 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 role assignment schedule instance 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 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 display name for the history definition. */ + displayName?: 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. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly reviewHistoryPeriodStartDateTime?: Date; /** - * The role assignment schedule request name. + * 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 name?: 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 schedule request type. + * 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 type?: string; + readonly status?: AccessReviewHistoryDefinitionStatus; /** - * The role assignment schedule request scope. + * Date time when history definition was created * 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 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 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 principalId?: 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 principalType?: 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 */ - 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; + readonly principalName?: string; /** - * DateTime when role assignment schedule request was created + * The user principal name(if valid) * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly createdOn?: Date; + readonly userPrincipalName?: string; +} + +/** Access Review History Instances. */ +export interface AccessReviewHistoryDefinitionProperties { + /** The display name for the history definition. */ + displayName?: string; /** - * Id of the user who created this request + * 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 requestorId?: string; + readonly reviewHistoryPeriodStartDateTime?: Date; /** - * Additional properties of principal, scope and role definition + * 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 expandedProperties?: ExpandedProperties; -} - -/** 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; -} - -/** 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; -} - -/** 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; + 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[]; + /** + * 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 status?: AccessReviewHistoryDefinitionStatus; + /** + * Date time when history definition was created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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 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; } -/** Role assignment schedule request list operation result. */ -export interface RoleAssignmentScheduleRequestListResult { - /** Role assignment schedule request list. */ - value?: RoleAssignmentScheduleRequest[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; +/** Descriptor for what needs to be reviewed */ +export interface AccessReviewScope { + /** + * 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 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 eligibility schedule */ -export interface RoleEligibilitySchedule { +/** Access Review History Definition Instance. */ +export interface AccessReviewHistoryInstance { /** - * The role eligibility schedule Id. + * The access review history definition instance 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 history definition instance unique 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[]; + /** 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; + /** + * 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 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; + /** + * 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 downloadUri?: string; + /** Date time when history data report expires and the associated data is deleted. */ + expiration?: Date; +} + +/** 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 eligibility schedule instance list operation result. */ -export interface RoleEligibilityScheduleInstanceListResult { - /** Role eligibility schedule instance list. */ - value?: RoleEligibilityScheduleInstance[]; +/** 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; } -/** Information about current or upcoming role eligibility schedule instance */ -export interface RoleEligibilityScheduleInstance { +/** Access Review Schedule Definition. */ +export interface AccessReviewScheduleDefinition { /** - * The role eligibility schedule instance 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 eligibility schedule instance 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 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; -} - -/** Role Eligibility schedule request */ -export interface RoleEligibilityScheduleRequest { + /** The display name for the schedule definition. */ + displayName?: string; /** - * The role eligibility schedule request ID. + * 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 id?: string; + 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[]; /** - * The role eligibility schedule request name. + * 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 name?: string; + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + /** This is the collection of instances returned when one does an expand on it. */ + instances?: AccessReviewInstance[]; /** - * The role eligibility schedule request type. + * ResourceId in which this review is getting created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly resourceId?: string; /** - * The role eligibility schedule request scope. + * 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 scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; + readonly roleDefinitionId?: string; /** - * The principal type of the assigned principal ID. + * The identity type user/servicePrincipal to review * 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 principalTypePropertiesScopePrincipalType?: AccessReviewScopePrincipalType; /** - * The status of the role eligibility schedule request. + * The role assignment state eligible/active to review * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly status?: Status; + 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 approvalId of the role eligibility schedule request. + * The identity id * 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 principalId?: string; /** - * DateTime when role eligibility schedule request 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 principalTypePropertiesCreatedByPrincipalType?: AccessReviewActorIdentityType; /** - * Id of the user who created this request + * The identity display name * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestorId?: string; + readonly principalName?: string; /** - * Additional properties of principal, scope and role definition + * The user principal name(if valid) * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly expandedProperties?: ExpandedProperties; -} - -/** 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; -} - -/** 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; + readonly userPrincipalName?: 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; -} - -/** Role management policy */ -export interface RoleManagementPolicy { - /** - * The role management policy Id. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; +/** Access Review. */ +export interface AccessReviewScheduleDefinitionProperties { + /** The display name for the schedule definition. */ + displayName?: string; /** - * The role management policy name. + * 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 name?: string; + 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[]; /** - * The role management policy type. + * 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 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; + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + /** This is the collection of instances returned when one does an expand on it. */ + instances?: AccessReviewInstance[]; /** - * The name of the entity last modified it + * ResourceId in which this review is getting created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly lastModifiedBy?: Principal; + readonly resourceId?: string; /** - * The last modified date time. + * 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 lastModifiedDateTime?: Date; - /** The rule applied to the policy. */ - rules?: RoleManagementPolicyRuleUnion[]; + readonly roleDefinitionId?: string; /** - * The readonly computed rule applied to the policy. + * 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 effectiveRules?: RoleManagementPolicyRuleUnion[]; + 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; /** - * Additional properties of scope + * The identity type : user/servicePrincipal * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly policyProperties?: PolicyProperties; -} - -/** 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; -} - -/** 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 it 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[]; -} - -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; -} - -/** Role management policy list operation result. */ -export interface RoleManagementPolicyListResult { - /** Role management policy list. */ - value?: RoleManagementPolicy[]; - /** The URL to use for getting the next set of results. */ - nextLink?: string; + readonly principalType?: AccessReviewReviewerType; } -/** Role management policy */ -export interface RoleManagementPolicyAssignment { +/** Access Review Instance. */ +export interface AccessReviewInstance { /** - * The role management policy 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 management policy 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 management policy type. + * The resource 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 definition of management policy assignment. */ - roleDefinitionId?: string; - /** The policy id role management policy assignment. */ - policyId?: string; /** - * Additional properties of scope, role definition and policy + * 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 policyAssignmentProperties?: PolicyAssignmentProperties; -} - -export interface PolicyAssignmentProperties { - /** Details of the resource scope */ - scope?: PolicyAssignmentPropertiesScope; - /** Details of role definition */ - roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; - /** Details of the policy */ - policy?: PolicyAssignmentPropertiesPolicy; -} - -/** 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; -} - -/** 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; + 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; } -/** Details of the policy */ -export interface PolicyAssignmentPropertiesPolicy { - /** Id of the policy */ - id?: 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[]; /** - * The name of the entity last modified it + * 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 lastModifiedBy?: Principal; - /** The last modified date time. */ - lastModifiedDateTime?: Date; + readonly reviewersType?: AccessReviewInstanceReviewersType; } -/** Role management policy assignment list operation result. */ -export interface RoleManagementPolicyAssignmentListResult { - /** Role management policy assignment list. */ - value?: RoleManagementPolicyAssignment[]; +/** 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; } -/** Eligible child resources list operation result. */ -export interface EligibleChildResourcesListResult { - /** Eligible child resource list. */ - value?: EligibleChildResource[]; +/** 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; } -/** Eligible child resource */ -export interface EligibleChildResource { +/** Access Review. */ +export interface AccessReviewDecision { /** - * The resource scope 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 resource name. + * The access review decision name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; @@ -740,1099 +701,1971 @@ export interface EligibleChildResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; -} - -/** Role assignment list operation result. */ -export interface RoleAssignmentListResult { - /** Role assignment list. */ - value?: RoleAssignment[]; /** - * The URL to use for getting the next set of results. + * The feature- generated recommendation shown to the reviewer. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly nextLink?: string; -} - -/** Role Assignments */ -export interface RoleAssignment { + 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 ID. + * Date Time when a decision was taken. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly id?: string; + readonly reviewedDateTime?: Date; /** - * The role assignment name. + * The outcome of applying the decision. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly name?: string; + readonly applyResult?: AccessReviewApplyResult; /** - * The role assignment type. + * 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 type?: 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 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 accepted value is '2.0' */ - conditionVersion?: string; + readonly principalIdPropertiesAppliedByPrincipalId?: 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 principalTypePropertiesAppliedByPrincipalType?: 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 principalNamePropertiesAppliedByPrincipalName?: 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 userPrincipalNamePropertiesAppliedByUserPrincipalName?: string; /** - * Id of the user who updated the assignment + * The identity id * 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; -} - -/** 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; -} - -/** The error detail. */ -export interface ErrorDetail { + readonly principalIdPropertiesReviewedByPrincipalId?: string; /** - * The error code. + * The identity type : user/servicePrincipal * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly principalTypePropertiesReviewedByPrincipalType?: AccessReviewActorIdentityType; /** - * The error message. + * The identity display name * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + readonly principalNamePropertiesReviewedByPrincipalName?: string; /** - * The error target. + * The user principal name(if valid) * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly target?: string; + readonly userPrincipalNamePropertiesReviewedByUserPrincipalName?: string; + /** The type of resource */ + typePropertiesResourceType?: DecisionResourceType; /** - * The error details. + * 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 details?: ErrorDetail[]; + readonly idPropertiesResourceId?: string; /** - * The error additional info. + * 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 additionalInfo?: ErrorAdditionalInfo[]; -} - -/** The resource management error additional info. */ -export interface ErrorAdditionalInfo { + readonly displayNamePropertiesResourceDisplayName?: string; + /** The type of decision target : User/ServicePrincipal */ + typePropertiesPrincipalType?: DecisionTargetType; /** - * The additional info type. + * The id of principal whose access was reviewed. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly idPropertiesPrincipalId?: string; /** - * The additional info. + * 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 info?: Record; + readonly displayNamePropertiesPrincipalDisplayName?: string; } -/** Role assignment create parameters. */ -export interface RoleAssignmentCreateParameters { +/** Approval Step. */ +export interface AccessReviewDecisionProperties { /** - * The role assignment scope. + * The feature- generated recommendation shown to the reviewer. * 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 accepted value is '2.0' */ - conditionVersion?: 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; /** - * Time it 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; /** - * Time it was updated + * The outcome of applying the decision. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly updatedOn?: Date; + readonly applyResult?: AccessReviewApplyResult; /** - * Id of the user who created the assignment + * 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 createdBy?: 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[]; /** - * Id of the user who updated the assignment + * The identity id * 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; -} - -/** Validation response */ -export interface ValidationResponse { + readonly principalIdAppliedByPrincipalId?: string; /** - * Whether or not validation succeeded + * The identity type : user/servicePrincipal * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isValid?: boolean; - /** Failed validation result details */ - errorInfo?: ValidationResponseErrorInfo; -} - -/** Failed validation result details */ -export interface ValidationResponseErrorInfo { + readonly principalTypeAppliedByPrincipalType?: AccessReviewActorIdentityType; /** - * Error code indicating why validation failed + * The identity display name * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly principalNameAppliedByPrincipalName?: string; /** - * Message indicating why validation failed + * The user principal name(if valid) * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; + 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; + /** + * The id of principal whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; } -/** 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; +/** 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; } -/** 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; +/** 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; } -/** 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; +/** 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 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; +/** 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 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; +/** Access Review Contacted Reviewer. */ +export interface AccessReviewContactedReviewer { + /** + * The access review reviewer id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The access review reviewer id. + * 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 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; } -/** 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; -} - -/** The approval settings. */ -export interface ApprovalSettings { - /** Determine whether approval is required or not. */ - isApprovalRequired?: boolean; - /** Determine whether approval is required for assignment extension. */ - isApprovalRequiredForExtension?: boolean; - /** Determine whether requestor justification 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; - /** Determine 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 approves. */ - 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 Assignments filter */ -export interface RoleAssignmentFilter { - /** Returns role assignment of the specific principal. */ - principalId?: string; +/** Access Review Default Settings. */ +export interface AccessReviewDefaultSettings { + /** + * 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 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 resource type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: 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. */ + 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; +} + +/** The alert. */ +export interface Alert { + /** + * The alert ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The alert name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The alert type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The alert scope. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly scope?: string; + /** False by default; true if the alert is active. */ + isActive?: boolean; + /** + * The number of generated incidents of the alert. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly incidentCount?: number; + /** + * 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 lastModifiedDateTime?: Date; + /** + * 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 lastScannedDateTime?: Date; + /** + * The alert definition. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertDefinition?: AlertDefinition; + /** + * The alert incidents. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertIncidents?: AlertIncident[]; + /** + * The alert configuration. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertConfiguration?: AlertConfiguration; +} + +/** 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; +} + +/** 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; } -/** The role management policy rule. */ -export type RoleManagementPolicyApprovalRule = RoleManagementPolicyRule & { +/** Alert incident properties */ +export interface AlertIncidentProperties { /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyApprovalRule"; - /** The approval setting */ - setting?: ApprovalSettings; -}; + alertIncidentType: + | "AzureRolesAssignedOutsidePimAlertIncident" + | "DuplicateRoleCreatedAlertIncident" + | "TooManyOwnersAssignedToResourceAlertIncident" + | "TooManyPermanentOwnersAssignedToResourceAlertIncident"; +} + +/** Alert configuration. */ +export interface AlertConfiguration { + /** + * The alert configuration ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The alert configuration name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The alert configuration type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The alert definition ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly alertDefinitionId?: string; + /** + * The alert scope. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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 alert definition. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; + /** + * The alert scope. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; +} + +/** 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; +} + +/** Alert list operation result. */ +export interface AlertListResult { + /** Alert list */ + value?: Alert[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Alert operation result */ +export interface AlertOperationResult { + /** + * 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 status of the alert operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: string; +} + +/** 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; +} + +/** 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; +} + +/** 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; +} + +/** Alert operation list operation result. */ +export interface AlertOperationListResult { + /** Alert operation list */ + value?: AlertOperationResult[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** User Decision Target */ +export interface AccessReviewDecisionUserIdentity + extends AccessReviewDecisionIdentity { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "user"; + /** + * 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 userPrincipalName?: 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; +} + +/** 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; +} + +/** 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"; + /** + * The assignee display name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assigneeDisplayName?: string; + /** + * The assignee user principal name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; +} + +/** 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; + /** + * The duplicate roles. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + 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; +} + +/** 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; +} + +/** 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; +} + +/** 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" +} + +/** + * 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; + +/** Known values of {@link AccessReviewScopeAssignmentState} that the service accepts. */ +export enum KnownAccessReviewScopeAssignmentState { + /** Eligible */ + Eligible = "eligible", + /** Active */ + Active = "active" +} + +/** + * 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; + +/** Known values of {@link AccessReviewRecurrencePatternType} that the service accepts. */ +export enum KnownAccessReviewRecurrencePatternType { + /** Weekly */ + Weekly = "weekly", + /** AbsoluteMonthly */ + AbsoluteMonthly = "absoluteMonthly" +} + +/** + * 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; + +/** 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 rule. */ -export type RoleManagementPolicyAuthenticationContextRule = 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; -}; +/** + * 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 rule. */ -export type RoleManagementPolicyEnablementRule = RoleManagementPolicyRule & { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyEnablementRule"; - /** The list of enabled rules. */ - enabledRules?: EnablementRules[]; -}; +/** + * 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 rule. */ -export type RoleManagementPolicyExpirationRule = 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; -}; - -/** The role management policy rule. */ -export type RoleManagementPolicyNotificationRule = 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 notification recipients. */ - notificationRecipients?: string[]; - /** Its value determine if the notification need to be sent to the recipient type specified in policy rule. */ - isDefaultRecipientsEnabled?: boolean; -}; - -/** Known values of {@link PrincipalType} that the service accepts. */ -export enum KnownPrincipalType { - User = "User", - Group = "Group", - ServicePrincipal = "ServicePrincipal", - Unknown = "Unknown", - DirectoryRoleTemplate = "DirectoryRoleTemplate", - ForeignGroup = "ForeignGroup", - Application = "Application", - MSI = "MSI", - DirectoryObjectOrGroup = "DirectoryObjectOrGroup", - Everyone = "Everyone", - 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** \ - * **Unknown** \ - * **DirectoryRoleTemplate** \ - * **ForeignGroup** \ - * **Application** \ - * **MSI** \ - * **DirectoryObjectOrGroup** \ - * **Everyone** \ - * **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", - 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", - Direct = "Direct", - 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", - PendingEvaluation = "PendingEvaluation", - Granted = "Granted", - Denied = "Denied", - PendingProvisioning = "PendingProvisioning", - Provisioned = "Provisioned", - PendingRevocation = "PendingRevocation", - Revoked = "Revoked", - Canceled = "Canceled", - Failed = "Failed", - PendingApprovalProvisioning = "PendingApprovalProvisioning", - PendingApproval = "PendingApproval", - FailedAsResourceIsLocked = "FailedAsResourceIsLocked", - PendingAdminDecision = "PendingAdminDecision", - AdminApproved = "AdminApproved", - AdminDenied = "AdminDenied", - TimedOut = "TimedOut", - ProvisioningStarted = "ProvisioningStarted", - Invalid = "Invalid", - PendingScheduleCreation = "PendingScheduleCreation", - ScheduleCreated = "ScheduleCreated", - 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; +export type AccessReviewInstanceStatus = string; -/** Known values of {@link RequestType} that the service accepts. */ -export enum KnownRequestType { - AdminAssign = "AdminAssign", - AdminRemove = "AdminRemove", - AdminUpdate = "AdminUpdate", - AdminExtend = "AdminExtend", - AdminRenew = "AdminRenew", - SelfActivate = "SelfActivate", - SelfDeactivate = "SelfDeactivate", - SelfExtend = "SelfExtend", - SelfRenew = "SelfRenew" +/** 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", - AfterDateTime = "AfterDateTime", - 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; +export type DecisionTargetType = string; -/** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ -export enum KnownRoleManagementPolicyRuleType { - RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", - RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", - RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", - RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", - RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +/** 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", - Serial = "Serial", - Parallel = "Parallel", - 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", - 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", - Justification = "Justification", - 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" +/** 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", - Critical = "Critical", - 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", - Approver = "Approver", - 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 RoleAssignmentSchedulesGetOptionalParams +export interface OperationsListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; /** 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 OperationsListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; /** Optional parameters. */ -export interface RoleAssignmentSchedulesListForScopeNextOptionalParams +export interface AccessReviewHistoryDefinitionsListOptionalParams 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. */ + /** 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 listForScopeNext operation. */ -export type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; +/** Contains response data for the list operation. */ +export type AccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; + +/** Optional parameters. */ +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesListForScopeOptionalParams +export interface AccessReviewHistoryDefinitionsListNextOptionalParams 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. Only standard filters on definition name and created date are supported */ filter?: string; } -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesGetOptionalParams +export interface AccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; +/** Contains response data for the create operation. */ +export type AccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams - 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. */ - filter?: string; -} +export interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; +/** Optional parameters. */ +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the generateDownloadUri operation. */ +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsCreateOptionalParams +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; +/** Contains response data for the list operation. */ +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsGetOptionalParams +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; +/** Contains response data for the listNext operation. */ +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsListForScopeOptionalParams +export interface AccessReviewScheduleDefinitionsListOptionalParams 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 AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsCancelOptionalParams +export interface AccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Optional parameters. */ -export interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams - 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. */ - filter?: string; -} +/** Contains response data for the getById operation. */ +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleEligibilitySchedulesGetOptionalParams +export interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; +/** Contains response data for the createOrUpdateById operation. */ +export type AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsStopOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleEligibilitySchedulesListForScopeOptionalParams +export interface AccessReviewScheduleDefinitionsListNextOptionalParams 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 listNext operation. */ +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleEligibilitySchedulesListForScopeNextOptionalParams +export interface AccessReviewInstancesListOptionalParams 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 listForScopeNext operation. */ -export type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstancesListResponse = AccessReviewInstanceListResult; + +/** Optional parameters. */ +export interface AccessReviewInstancesGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesGetByIdResponse = AccessReviewInstance; + +/** Optional parameters. */ +export interface AccessReviewInstancesCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type AccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesListForScopeOptionalParams +export interface AccessReviewInstancesListNextOptionalParams 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. */ + /** 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 RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesGetOptionalParams +export interface AccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; +/** Optional parameters. */ +export interface AccessReviewInstanceResetDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewInstanceApplyDecisionsOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams +export interface AccessReviewInstanceSendRemindersOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewInstanceAcceptRecommendationsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewInstanceDecisionsListOptionalParams 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. */ + /** 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 listForScopeNext operation. */ -export type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; + +/** Optional parameters. */ +export interface AccessReviewInstanceDecisionsListNextOptionalParams + 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 listNext operation. */ +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsCreateOptionalParams +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +/** Optional parameters. */ +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsGetOptionalParams +export interface AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +/** Optional parameters. */ +export interface AccessReviewDefaultSettingsPutOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the put operation. */ +export type AccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsListForScopeOptionalParams +export interface ScopeAccessReviewHistoryDefinitionsListOptionalParams 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. */ + /** 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 listForScope operation. */ -export type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsCancelOptionalParams +export interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + /** Optional parameters. */ -export interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams +export interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams 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. */ + /** 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 listForScopeNext operation. */ -export type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesGetOptionalParams +export interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleManagementPoliciesGetResponse = RoleManagementPolicy; +/** Contains response data for the create operation. */ +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface RoleManagementPoliciesUpdateOptionalParams +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the update operation. */ -export type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; - /** Optional parameters. */ -export interface RoleManagementPoliciesDeleteOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the generateDownloadUri operation. */ +export type ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; + /** Optional parameters. */ -export interface RoleManagementPoliciesListForScopeOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleManagementPoliciesListForScopeNextOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsGetOptionalParams - extends coreClient.OperationOptions {} +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams + 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 get operation. */ -export type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsCreateOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsDeleteOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsListForScopeOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScope operation. */ -export type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; +/** Contains response data for the createOrUpdateById operation. */ +export type ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; - /** Optional parameters. */ -export interface EligibleChildResourcesGetOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams 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 listNext operation. */ +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface EligibleChildResourcesGetNextOptionalParams +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 getNext operation. */ -export type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstancesListResponse = AccessReviewInstanceListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewInstancesGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewInstancesGetByIdResponse = AccessReviewInstance; + +/** Optional parameters. */ +export interface ScopeAccessReviewInstancesCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type ScopeAccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionOptionalParams +export interface ScopeAccessReviewInstancesListNextOptionalParams 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 listForSubscription operation. */ -export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceStopOptionalParams + extends coreClient.OperationOptions {} + +/** 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 RoleAssignmentsListForResourceGroupOptionalParams +export interface ScopeAccessReviewInstanceDecisionsListOptionalParams 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 listForResourceGroup operation. */ -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceOptionalParams +export interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams 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 listNext operation. */ +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsGetOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ -export type RoleAssignmentsGetResponse = RoleAssignment; +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface RoleAssignmentsCreateOptionalParams +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleAssignmentsCreateResponse = RoleAssignment; +/** 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. 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 AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse = AccessReviewScheduleDefinitionListResult; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams + 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 listNext operation. */ +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentsDeleteOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams 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 delete operation. */ -export type RoleAssignmentsDeleteResponse = RoleAssignment; +/** Contains response data for the list operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsValidateOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the validate operation. */ -export type RoleAssignmentsValidateResponse = ValidationResponse; +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesAssignedForMyApprovalGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams 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 listForScope operation. */ -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsGetByIdOptionalParams +export interface AccessReviewInstanceMyDecisionsListOptionalParams 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 list operation. */ +export type AccessReviewInstanceMyDecisionsListResponse = AccessReviewDecisionListResult; + +/** Optional parameters. */ +export interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the getById operation. */ -export type RoleAssignmentsGetByIdResponse = RoleAssignment; +export type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; /** Optional parameters. */ -export interface RoleAssignmentsCreateByIdOptionalParams +export interface AccessReviewInstanceMyDecisionsPatchOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createById operation. */ -export type RoleAssignmentsCreateByIdResponse = RoleAssignment; +/** Contains response data for the patch operation. */ +export type AccessReviewInstanceMyDecisionsPatchResponse = AccessReviewDecision; /** Optional parameters. */ -export interface RoleAssignmentsDeleteByIdOptionalParams +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams 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 listNext operation. */ +export type AccessReviewInstanceMyDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsValidateByIdOptionalParams +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the validateById operation. */ -export type RoleAssignmentsValidateByIdResponse = ValidationResponse; +/** Contains response data for the list operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionNextOptionalParams - 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 TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForSubscriptionNext operation. */ -export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceGroupNextOptionalParams - 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 AlertsGetOptionalParams extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AlertsGetResponse = Alert; + +/** Optional parameters. */ +export interface AlertsUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AlertsListForScopeOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; +/** Contains response data for the listForScope operation. */ +export type AlertsListForScopeResponse = AlertListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceNextOptionalParams +export interface AlertsRefreshOptionalParams 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; + /** 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 listForResourceNext operation. */ -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; +/** Contains response data for the refresh operation. */ +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeNextOptionalParams +export interface AlertsRefreshAllOptionalParams 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; + /** 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 refreshAll operation. */ +export type AlertsRefreshAllResponse = AlertsRefreshAllHeaders & + AlertOperationResult; + +/** Optional parameters. */ +export interface AlertsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScopeNext operation. */ +export type AlertsListForScopeNextResponse = AlertListResult; + +/** Optional parameters. */ +export interface AlertConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +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 AlertConfigurationsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScopeNext operation. */ +export type AlertConfigurationsListForScopeNextResponse = AlertConfigurationListResult; + +/** Optional parameters. */ +export interface AlertDefinitionsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AlertDefinitionsGetResponse = AlertDefinition; + +/** Optional parameters. */ +export interface AlertDefinitionsListForScopeOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScope operation. */ +export type AlertDefinitionsListForScopeResponse = AlertDefinitionListResult; + +/** Optional parameters. */ +export interface AlertDefinitionsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScopeNext operation. */ +export type AlertDefinitionsListForScopeNextResponse = AlertDefinitionListResult; + +/** Optional parameters. */ +export interface AlertIncidentsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AlertIncidentsGetResponse = AlertIncident; + +/** Optional parameters. */ +export interface AlertIncidentsListForScopeOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScope operation. */ +export type AlertIncidentsListForScopeResponse = AlertIncidentListResult; + +/** Optional parameters. */ +export interface AlertIncidentsRemediateOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AlertIncidentsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + /** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; +export type AlertIncidentsListForScopeNextResponse = AlertIncidentListResult; + +/** Optional parameters. */ +export interface AlertOperationGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AlertOperationGetResponse = AlertOperationResult; + +/** Optional parameters. */ +export interface AlertOperationListForScopeOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScope operation. */ +export type AlertOperationListForScopeResponse = AlertOperationListResult; /** Optional parameters. */ export interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { /** server parameter */ $host?: string; - /** Api Version */ - apiVersion?: string; /** Overrides client endpoint. */ endpoint?: string; } diff --git a/sdk/authorization/arm-authorization/src/models/mappers.ts b/sdk/authorization/arm-authorization/src/models/mappers.ts index 9c89e14d75ea..c0b9e5176aef 100644 --- a/sdk/authorization/arm-authorization/src/models/mappers.ts +++ b/sdk/authorization/arm-authorization/src/models/mappers.ts @@ -8,10 +8,716 @@ import * as coreClient from "@azure/core-client"; -export const RoleAssignmentSchedule: coreClient.CompositeMapper = { +export const OperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentSchedule", + className: "OperationListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Operation" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const Operation: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Operation", + modelProperties: { + name: { + serializedName: "name", + type: { + name: "String" + } + }, + isDataAction: { + serializedName: "isDataAction", + type: { + name: "Boolean" + } + }, + display: { + serializedName: "display", + type: { + name: "Composite", + className: "OperationDisplay" + } + }, + origin: { + serializedName: "origin", + type: { + name: "String" + } + } + } + } +}; + +export const OperationDisplay: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "OperationDisplay", + modelProperties: { + provider: { + serializedName: "provider", + readOnly: true, + type: { + name: "String" + } + }, + resource: { + serializedName: "resource", + readOnly: true, + type: { + name: "String" + } + }, + operation: { + serializedName: "operation", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "description", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ErrorDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDefinition", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDefinitionProperties" + } + } + } + } +}; + +export const ErrorDefinitionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDefinitionProperties", + modelProperties: { + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + }, + code: { + serializedName: "code", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewHistoryDefinitionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewHistoryDefinitionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewHistoryDefinition" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewHistoryDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewHistoryDefinition", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + decisions: { + serializedName: "properties.decisions", + nullable: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + scopes: { + serializedName: "properties.scopes", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewScope" + } + } + } + }, + instances: { + serializedName: "properties.instances", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewHistoryInstance" + } + } + } + }, + typePropertiesSettingsRangeType: { + serializedName: "properties.settings.range.type", + nullable: true, + type: { + name: "String" + } + }, + numberOfOccurrences: { + serializedName: "properties.settings.range.numberOfOccurrences", + nullable: true, + type: { + name: "Number" + } + }, + startDate: { + serializedName: "properties.settings.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "properties.settings.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typePropertiesSettingsPatternType: { + serializedName: "properties.settings.pattern.type", + nullable: true, + type: { + name: "String" + } + }, + interval: { + serializedName: "properties.settings.pattern.interval", + nullable: true, + type: { + name: "Number" + } + }, + principalId: { + serializedName: "properties.createdBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.createdBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalName: { + serializedName: "properties.createdBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewHistoryDefinitionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewHistoryDefinitionProperties", + modelProperties: { + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + reviewHistoryPeriodStartDateTime: { + serializedName: "reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + decisions: { + serializedName: "decisions", + nullable: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + 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: "Composite", + className: "AccessReviewScope" + } + } + } + }, + instances: { + serializedName: "instances", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewHistoryInstance" + } + } + } + }, + typeSettingsRangeType: { + serializedName: "settings.range.type", + nullable: true, + type: { + name: "String" + } + }, + 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" + } + }, + interval: { + serializedName: "settings.pattern.interval", + nullable: true, + type: { + name: "Number" + } + }, + principalId: { + serializedName: "createdBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalType: { + serializedName: "createdBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalName: { + serializedName: "createdBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScope", + modelProperties: { + resourceId: { + serializedName: "resourceId", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "roleDefinitionId", + readOnly: true, + type: { + name: "String" + } + }, + principalType: { + serializedName: "principalType", + readOnly: true, + type: { + name: "String" + } + }, + assignmentState: { + serializedName: "assignmentState", + readOnly: true, + type: { + name: "String" + } + }, + inactiveDuration: { + serializedName: "inactiveDuration", + type: { + name: "TimeSpan" + } + }, + expandNestedMemberships: { + serializedName: "expandNestedMemberships", + type: { + name: "Boolean" + } + }, + includeInheritedAccess: { + serializedName: "includeInheritedAccess", + type: { + name: "Boolean" + } + }, + includeAccessBelowResource: { + serializedName: "includeAccessBelowResource", + type: { + name: "Boolean" + } + }, + excludeResourceId: { + serializedName: "excludeResourceId", + type: { + name: "String" + } + }, + excludeRoleDefinitionId: { + serializedName: "excludeRoleDefinitionId", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewHistoryInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewHistoryInstance", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", + type: { + name: "DateTime" + } + }, + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", + type: { + name: "DateTime" + } + }, + displayName: { + serializedName: "properties.displayName", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + runDateTime: { + serializedName: "properties.runDateTime", + nullable: true, + type: { + 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 AccessReviewHistoryDefinitionInstanceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewHistoryDefinitionInstanceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewHistoryInstance" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewScheduleDefinitionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinitionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinition" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewScheduleDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinition", modelProperties: { id: { serializedName: "id", @@ -34,183 +740,255 @@ export const RoleAssignmentSchedule: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + 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" } }, - roleAssignmentScheduleRequestId: { - serializedName: "properties.roleAssignmentScheduleRequestId", + 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" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + instances: { + serializedName: "properties.instances", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewInstance" + } + } + } + }, + resourceId: { + serializedName: "properties.scope.resourceId", + readOnly: true, type: { name: "String" } }, - assignmentType: { - serializedName: "properties.assignmentType", + roleDefinitionId: { + serializedName: "properties.scope.roleDefinitionId", + readOnly: true, type: { name: "String" } }, - memberType: { - serializedName: "properties.memberType", + principalTypePropertiesScopePrincipalType: { + serializedName: "properties.scope.principalType", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + assignmentState: { + serializedName: "properties.scope.assignmentState", + readOnly: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + inactiveDuration: { + serializedName: "properties.scope.inactiveDuration", type: { - name: "DateTime" + name: "TimeSpan" } }, - endDateTime: { - serializedName: "properties.endDateTime", + expandNestedMemberships: { + serializedName: "properties.scope.expandNestedMemberships", type: { - name: "DateTime" + name: "Boolean" + } + }, + includeInheritedAccess: { + serializedName: "properties.scope.includeInheritedAccess", + type: { + name: "Boolean" + } + }, + includeAccessBelowResource: { + serializedName: "properties.scope.includeAccessBelowResource", + type: { + name: "Boolean" } }, - condition: { - serializedName: "properties.condition", + excludeResourceId: { + serializedName: "properties.scope.excludeResourceId", type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + excludeRoleDefinitionId: { + serializedName: "properties.scope.excludeRoleDefinitionId", type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + mailNotificationsEnabled: { + serializedName: "properties.settings.mailNotificationsEnabled", type: { - name: "DateTime" + name: "Boolean" } }, - updatedOn: { - serializedName: "properties.updatedOn", + reminderNotificationsEnabled: { + serializedName: "properties.settings.reminderNotificationsEnabled", type: { - name: "DateTime" + name: "Boolean" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + defaultDecisionEnabled: { + serializedName: "properties.settings.defaultDecisionEnabled", type: { - name: "Composite", - className: "ExpandedProperties" + name: "Boolean" } - } - } - } -}; - -export const ExpandedProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedProperties", - modelProperties: { - scope: { - serializedName: "scope", + }, + justificationRequiredOnApproval: { + serializedName: "properties.settings.justificationRequiredOnApproval", type: { - name: "Composite", - className: "ExpandedPropertiesScope" + name: "Boolean" } }, - roleDefinition: { - serializedName: "roleDefinition", + defaultDecision: { + serializedName: "properties.settings.defaultDecision", type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition" + name: "String" } }, - principal: { - serializedName: "principal", + autoApplyDecisionsEnabled: { + serializedName: "properties.settings.autoApplyDecisionsEnabled", type: { - name: "Composite", - className: "ExpandedPropertiesPrincipal" + name: "Boolean" } - } - } - } -}; - -export const ExpandedPropertiesScope: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedPropertiesScope", - modelProperties: { - id: { - serializedName: "id", + }, + 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" } }, - displayName: { - serializedName: "displayName", + numberOfOccurrences: { + serializedName: + "properties.settings.recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "properties.settings.recurrence.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "properties.settings.recurrence.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typePropertiesSettingsRecurrencePatternType: { + serializedName: "properties.settings.recurrence.pattern.type", type: { name: "String" } }, - type: { - serializedName: "type", + interval: { + serializedName: "properties.settings.recurrence.pattern.interval", + type: { + name: "Number" + } + }, + principalId: { + serializedName: "properties.createdBy.principalId", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition", - modelProperties: { - id: { - serializedName: "id", + }, + principalTypePropertiesCreatedByPrincipalType: { + serializedName: "properties.createdBy.principalType", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + principalName: { + serializedName: "properties.createdBy.principalName", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", + readOnly: true, type: { name: "String" } @@ -219,500 +997,382 @@ export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { } }; -export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { +export const AccessReviewScheduleDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandedPropertiesPrincipal", + className: "AccessReviewScheduleDefinitionProperties", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, displayName: { serializedName: "displayName", type: { name: "String" } }, - email: { - serializedName: "email", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + descriptionForAdmins: { + serializedName: "descriptionForAdmins", type: { name: "String" } - } - } - } -}; - -export const CloudError: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CloudError", - modelProperties: { - error: { - serializedName: "error", + }, + descriptionForReviewers: { + serializedName: "descriptionForReviewers", type: { - name: "Composite", - className: "CloudErrorBody" + name: "String" } - } - } - } -}; - -export const CloudErrorBody: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "CloudErrorBody", - modelProperties: { - code: { - serializedName: "code", + }, + reviewers: { + serializedName: "reviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - message: { - serializedName: "message", - type: { - name: "String" - } - } - } - } -}; - -export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleListResult", - modelProperties: { - value: { - serializedName: "value", + backupReviewers: { + serializedName: "backupReviewers", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignmentSchedule" + className: "AccessReviewReviewer" } } } }, - nextLink: { - serializedName: "nextLink", + reviewersType: { + serializedName: "reviewersType", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleInstanceListResult", - modelProperties: { - value: { - serializedName: "value", + }, + instances: { + serializedName: "instances", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignmentScheduleInstance" + className: "AccessReviewInstance" } } } }, - nextLink: { - serializedName: "nextLink", - type: { - name: "String" - } - } - } - } -}; - -export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleInstance", - 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" } }, - scope: { - serializedName: "properties.scope", + assignmentState: { + serializedName: "scope.assignmentState", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + inactiveDuration: { + serializedName: "scope.inactiveDuration", type: { - name: "String" + name: "TimeSpan" } }, - principalId: { - serializedName: "properties.principalId", + expandNestedMemberships: { + serializedName: "scope.expandNestedMemberships", type: { - name: "String" + name: "Boolean" } }, - principalType: { - serializedName: "properties.principalType", + includeInheritedAccess: { + serializedName: "scope.includeInheritedAccess", type: { - name: "String" + name: "Boolean" } }, - roleAssignmentScheduleId: { - serializedName: "properties.roleAssignmentScheduleId", + includeAccessBelowResource: { + serializedName: "scope.includeAccessBelowResource", type: { - name: "String" + name: "Boolean" } }, - originRoleAssignmentId: { - serializedName: "properties.originRoleAssignmentId", + excludeResourceId: { + serializedName: "scope.excludeResourceId", type: { name: "String" } }, - status: { - serializedName: "properties.status", + excludeRoleDefinitionId: { + serializedName: "scope.excludeRoleDefinitionId", type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + mailNotificationsEnabled: { + serializedName: "settings.mailNotificationsEnabled", type: { - name: "DateTime" + name: "Boolean" } }, - endDateTime: { - serializedName: "properties.endDateTime", + reminderNotificationsEnabled: { + serializedName: "settings.reminderNotificationsEnabled", type: { - name: "DateTime" + name: "Boolean" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + defaultDecisionEnabled: { + serializedName: "settings.defaultDecisionEnabled", type: { - name: "String" + name: "Boolean" } }, - linkedRoleEligibilityScheduleInstanceId: { - serializedName: "properties.linkedRoleEligibilityScheduleInstanceId", + justificationRequiredOnApproval: { + serializedName: "settings.justificationRequiredOnApproval", type: { - name: "String" + name: "Boolean" } }, - assignmentType: { - serializedName: "properties.assignmentType", + defaultDecision: { + serializedName: "settings.defaultDecision", type: { name: "String" } }, - memberType: { - serializedName: "properties.memberType", + autoApplyDecisionsEnabled: { + serializedName: "settings.autoApplyDecisionsEnabled", type: { - name: "String" + name: "Boolean" } }, - condition: { - serializedName: "properties.condition", + recommendationsEnabled: { + serializedName: "settings.recommendationsEnabled", type: { - name: "String" + name: "Boolean" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + recommendationLookBackDuration: { + serializedName: "settings.recommendationLookBackDuration", type: { - name: "String" + name: "TimeSpan" } }, - createdOn: { - serializedName: "properties.createdOn", + instanceDurationInDays: { + serializedName: "settings.instanceDurationInDays", type: { - name: "DateTime" + name: "Number" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequest", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, + typeSettingsRecurrenceRangeType: { + serializedName: "settings.recurrence.range.type", type: { name: "String" } }, - name: { - serializedName: "name", - readOnly: true, + numberOfOccurrences: { + serializedName: "settings.recurrence.range.numberOfOccurrences", type: { - name: "String" + name: "Number" } }, - type: { - serializedName: "type", - readOnly: true, + startDate: { + serializedName: "settings.recurrence.range.startDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - scope: { - serializedName: "properties.scope", - readOnly: true, + endDate: { + serializedName: "settings.recurrence.range.endDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + typeSettingsRecurrencePatternType: { + serializedName: "settings.recurrence.pattern.type", type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + interval: { + serializedName: "settings.recurrence.pattern.interval", type: { - name: "String" + name: "Number" } }, - principalType: { - serializedName: "properties.principalType", + principalId: { + serializedName: "createdBy.principalId", readOnly: true, type: { name: "String" } }, - requestType: { - serializedName: "properties.requestType", + principalTypeCreatedByPrincipalType: { + serializedName: "createdBy.principalType", + readOnly: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + principalName: { + serializedName: "createdBy.principalName", readOnly: true, type: { name: "String" } }, - approvalId: { - serializedName: "properties.approvalId", + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", readOnly: true, type: { name: "String" } - }, - targetRoleAssignmentScheduleId: { - serializedName: "properties.targetRoleAssignmentScheduleId", + } + } + } +}; + +export const AccessReviewScheduleSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleSettings", + modelProperties: { + mailNotificationsEnabled: { + serializedName: "mailNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - targetRoleAssignmentScheduleInstanceId: { - serializedName: "properties.targetRoleAssignmentScheduleInstanceId", + reminderNotificationsEnabled: { + serializedName: "reminderNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", + defaultDecisionEnabled: { + serializedName: "defaultDecisionEnabled", type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo" + name: "Boolean" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + justificationRequiredOnApproval: { + serializedName: "justificationRequiredOnApproval", type: { - name: "String" + name: "Boolean" } }, - justification: { - serializedName: "properties.justification", + defaultDecision: { + serializedName: "defaultDecision", type: { name: "String" } }, - ticketInfo: { - serializedName: "properties.ticketInfo", + autoApplyDecisionsEnabled: { + serializedName: "autoApplyDecisionsEnabled", type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo" + name: "Boolean" } }, - condition: { - serializedName: "properties.condition", + recommendationsEnabled: { + serializedName: "recommendationsEnabled", type: { - name: "String" + name: "Boolean" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + recommendationLookBackDuration: { + serializedName: "recommendationLookBackDuration", type: { - name: "String" + name: "TimeSpan" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + instanceDurationInDays: { + serializedName: "instanceDurationInDays", type: { - name: "DateTime" + name: "Number" } }, - requestorId: { - serializedName: "properties.requestorId", - readOnly: true, + typeRecurrenceRangeType: { + serializedName: "recurrence.range.type", 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", + numberOfOccurrences: { + serializedName: "recurrence.range.numberOfOccurrences", type: { - name: "DateTime" + name: "Number" } }, - expiration: { - serializedName: "expiration", - type: { - name: "Composite", - className: - "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration", - modelProperties: { - type: { - serializedName: "type", + startDate: { + serializedName: "recurrence.range.startDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - endDateTime: { - serializedName: "endDateTime", + endDate: { + serializedName: "recurrence.range.endDate", + nullable: true, type: { name: "DateTime" } }, - duration: { - serializedName: "duration", - type: { - name: "String" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo", - modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + typeRecurrencePatternType: { + serializedName: "recurrence.pattern.type", type: { name: "String" } }, - ticketSystem: { - serializedName: "ticketSystem", + interval: { + serializedName: "recurrence.pattern.interval", type: { - name: "String" + name: "Number" } } } } }; -export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper = { +export const AccessReviewReviewer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleRequestListResult", + className: "AccessReviewReviewer", modelProperties: { - value: { - serializedName: "value", + principalId: { + serializedName: "principalId", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequest" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + principalType: { + serializedName: "principalType", + readOnly: true, type: { name: "String" } @@ -721,10 +1381,10 @@ export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper } }; -export const RoleEligibilitySchedule: coreClient.CompositeMapper = { +export const AccessReviewInstance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilitySchedule", + className: "AccessReviewInstance", modelProperties: { id: { serializedName: "id", @@ -747,99 +1407,123 @@ export const RoleEligibilitySchedule: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + startDateTime: { + serializedName: "properties.startDateTime", type: { - name: "String" + name: "DateTime" } }, - principalId: { - serializedName: "properties.principalId", + endDateTime: { + serializedName: "properties.endDateTime", type: { - name: "String" + name: "DateTime" } }, - principalType: { - serializedName: "properties.principalType", + reviewers: { + serializedName: "properties.reviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - roleEligibilityScheduleRequestId: { - serializedName: "properties.roleEligibilityScheduleRequestId", + backupReviewers: { + serializedName: "properties.backupReviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - memberType: { - serializedName: "properties.memberType", + reviewersType: { + serializedName: "properties.reviewersType", + readOnly: true, type: { name: "String" } - }, + } + } + } +}; + +export const AccessReviewInstanceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewInstanceProperties", + modelProperties: { status: { - serializedName: "properties.status", + serializedName: "status", + readOnly: true, type: { name: "String" } }, startDateTime: { - serializedName: "properties.startDateTime", + serializedName: "startDateTime", type: { name: "DateTime" } }, endDateTime: { - serializedName: "properties.endDateTime", + serializedName: "endDateTime", type: { name: "DateTime" } }, - condition: { - serializedName: "properties.condition", - type: { - name: "String" - } - }, - conditionVersion: { - serializedName: "properties.conditionVersion", + reviewers: { + serializedName: "reviewers", type: { - name: "String" - } - }, - createdOn: { - serializedName: "properties.createdOn", - type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - updatedOn: { - serializedName: "properties.updatedOn", + backupReviewers: { + serializedName: "backupReviewers", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + reviewersType: { + serializedName: "reviewersType", + readOnly: true, type: { - name: "Composite", - className: "ExpandedProperties" + name: "String" } } } } }; -export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { +export const AccessReviewInstanceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleListResult", + className: "AccessReviewInstanceListResult", modelProperties: { value: { serializedName: "value", @@ -848,7 +1532,7 @@ export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "RoleEligibilitySchedule" + className: "AccessReviewInstance" } } } @@ -863,10 +1547,10 @@ export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { } }; -export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapper = { +export const AccessReviewDecisionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstanceListResult", + className: "AccessReviewDecisionListResult", modelProperties: { value: { serializedName: "value", @@ -875,7 +1559,7 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp element: { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance" + className: "AccessReviewDecision" } } } @@ -890,10 +1574,10 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp } }; -export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { +export const AccessReviewDecision: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance", + className: "AccessReviewDecision", modelProperties: { id: { serializedName: "id", @@ -916,453 +1600,364 @@ 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", + recommendation: { + serializedName: "properties.recommendation", + readOnly: true, type: { name: "String" } }, - roleEligibilityScheduleId: { - serializedName: "properties.roleEligibilityScheduleId", + decision: { + serializedName: "properties.decision", type: { name: "String" } }, - status: { - serializedName: "properties.status", + justification: { + serializedName: "properties.justification", type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", - type: { - name: "DateTime" - } - }, - endDateTime: { - serializedName: "properties.endDateTime", + reviewedDateTime: { + serializedName: "properties.reviewedDateTime", + readOnly: true, + nullable: true, type: { name: "DateTime" } }, - memberType: { - serializedName: "properties.memberType", + applyResult: { + serializedName: "properties.applyResult", + readOnly: true, type: { name: "String" } }, - condition: { - serializedName: "properties.condition", + appliedDateTime: { + serializedName: "properties.appliedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + insights: { + serializedName: "properties.insights", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight" + } + } } }, - createdOn: { - serializedName: "properties.createdOn", + membershipTypes: { + serializedName: + "properties.principalResourceMembership.membershipTypes", + nullable: true, type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequest", - modelProperties: { - id: { - serializedName: "id", + principalIdPropertiesAppliedByPrincipalId: { + serializedName: "properties.appliedBy.principalId", readOnly: true, + nullable: true, type: { name: "String" } }, - name: { - serializedName: "name", + principalTypePropertiesAppliedByPrincipalType: { + serializedName: "properties.appliedBy.principalType", readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalNamePropertiesAppliedByPrincipalName: { + serializedName: "properties.appliedBy.principalName", readOnly: true, + nullable: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + userPrincipalNamePropertiesAppliedByUserPrincipalName: { + serializedName: "properties.appliedBy.userPrincipalName", readOnly: true, + nullable: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", - type: { - name: "String" - } - }, - principalId: { - serializedName: "properties.principalId", - type: { - name: "String" - } - }, - principalType: { - serializedName: "properties.principalType", + principalIdPropertiesReviewedByPrincipalId: { + serializedName: "properties.reviewedBy.principalId", readOnly: true, + nullable: true, type: { name: "String" } }, - requestType: { - serializedName: "properties.requestType", - type: { - name: "String" - } - }, - status: { - serializedName: "properties.status", + principalTypePropertiesReviewedByPrincipalType: { + serializedName: "properties.reviewedBy.principalType", readOnly: true, + nullable: true, type: { name: "String" } }, - approvalId: { - serializedName: "properties.approvalId", + principalNamePropertiesReviewedByPrincipalName: { + serializedName: "properties.reviewedBy.principalName", readOnly: true, + nullable: true, type: { name: "String" } }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo" - } - }, - targetRoleEligibilityScheduleId: { - serializedName: "properties.targetRoleEligibilityScheduleId", + userPrincipalNamePropertiesReviewedByUserPrincipalName: { + serializedName: "properties.reviewedBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - targetRoleEligibilityScheduleInstanceId: { - serializedName: "properties.targetRoleEligibilityScheduleInstanceId", + typePropertiesResourceType: { + serializedName: "properties.resource.type", + nullable: true, type: { name: "String" } }, - justification: { - serializedName: "properties.justification", + idPropertiesResourceId: { + serializedName: "properties.resource.id", + readOnly: true, + nullable: true, type: { name: "String" } }, - ticketInfo: { - serializedName: "properties.ticketInfo", - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo" - } - }, - condition: { - serializedName: "properties.condition", + displayNamePropertiesResourceDisplayName: { + serializedName: "properties.resource.displayName", + readOnly: true, + nullable: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + typePropertiesPrincipalType: { + serializedName: "properties.principal.type", + nullable: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + idPropertiesPrincipalId: { + serializedName: "properties.principal.id", readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - requestorId: { - serializedName: "properties.requestorId", + displayNamePropertiesPrincipalDisplayName: { + serializedName: "properties.principal.displayName", readOnly: true, + nullable: true, type: { name: "String" } - }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } } } } }; -export const RoleEligibilityScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { +export const AccessReviewDecisionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo", + className: "AccessReviewDecisionProperties", modelProperties: { - startDateTime: { - serializedName: "startDateTime", + recommendation: { + serializedName: "recommendation", + readOnly: true, type: { - name: "DateTime" + name: "String" } }, - expiration: { - serializedName: "expiration", + decision: { + serializedName: "decision", type: { - name: "Composite", - className: - "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration" + name: "String" } - } - } - } -}; - -export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration", - modelProperties: { - type: { - serializedName: "type", + }, + justification: { + serializedName: "justification", type: { name: "String" } }, - endDateTime: { - serializedName: "endDateTime", + reviewedDateTime: { + serializedName: "reviewedDateTime", + readOnly: true, + nullable: true, type: { name: "DateTime" } }, - duration: { - serializedName: "duration", - type: { - name: "String" - } - } - } - } -}; - -export const RoleEligibilityScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo", - modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + applyResult: { + serializedName: "applyResult", + readOnly: true, type: { name: "String" } }, - ticketSystem: { - serializedName: "ticketSystem", + appliedDateTime: { + serializedName: "appliedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestListResult", - modelProperties: { - value: { - serializedName: "value", + }, + insights: { + serializedName: "insights", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleEligibilityScheduleRequest" + className: "AccessReviewDecisionInsight" } } } }, - nextLink: { - serializedName: "nextLink", + membershipTypes: { + serializedName: "principalResourceMembership.membershipTypes", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } - } - } - } -}; - -export const RoleManagementPolicy: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleManagementPolicy", - modelProperties: { - id: { - serializedName: "id", + }, + principalIdAppliedByPrincipalId: { + serializedName: "appliedBy.principalId", readOnly: true, + nullable: true, type: { name: "String" } }, - name: { - serializedName: "name", + principalTypeAppliedByPrincipalType: { + serializedName: "appliedBy.principalType", readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", + principalNameAppliedByPrincipalName: { + serializedName: "appliedBy.principalName", readOnly: true, + nullable: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + userPrincipalNameAppliedByUserPrincipalName: { + serializedName: "appliedBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", + principalIdReviewedByPrincipalId: { + serializedName: "reviewedBy.principalId", + readOnly: true, + nullable: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + principalTypeReviewedByPrincipalType: { + serializedName: "reviewedBy.principalType", + readOnly: true, + nullable: true, type: { name: "String" } }, - isOrganizationDefault: { - serializedName: "properties.isOrganizationDefault", - type: { - name: "Boolean" - } - }, - lastModifiedBy: { - serializedName: "properties.lastModifiedBy", - type: { - name: "Composite", - className: "Principal" - } - }, - lastModifiedDateTime: { - serializedName: "properties.lastModifiedDateTime", + principalNameReviewedByPrincipalName: { + serializedName: "reviewedBy.principalName", readOnly: true, + nullable: true, type: { - name: "DateTime" - } - }, - rules: { - serializedName: "properties.rules", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "String" } }, - effectiveRules: { - serializedName: "properties.effectiveRules", + userPrincipalNameReviewedByUserPrincipalName: { + serializedName: "reviewedBy.userPrincipalName", readOnly: true, + nullable: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "String" } }, - policyProperties: { - serializedName: "properties.policyProperties", + typeResourceType: { + serializedName: "resource.type", + nullable: true, type: { - name: "Composite", - className: "PolicyProperties" + name: "String" } - } - } - } -}; - -export const Principal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Principal", - modelProperties: { - id: { - serializedName: "id", + }, + idResourceId: { + serializedName: "resource.id", + readOnly: true, + nullable: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + displayNameResourceDisplayName: { + serializedName: "resource.displayName", + readOnly: true, + nullable: true, type: { name: "String" } }, - type: { - serializedName: "type", + typePrincipalType: { + serializedName: "principal.type", + nullable: true, + type: { + name: "String" + } + }, + idPrincipalId: { + serializedName: "principal.id", + readOnly: true, + nullable: true, type: { name: "String" } }, - email: { - serializedName: "email", + displayNamePrincipalDisplayName: { + serializedName: "principal.displayName", + readOnly: true, + nullable: true, type: { name: "String" } @@ -1371,152 +1966,118 @@ export const Principal: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyRule: coreClient.CompositeMapper = { +export const AccessReviewDecisionIdentity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyRule", - uberParent: "RoleManagementPolicyRule", + className: "AccessReviewDecisionIdentity", + uberParent: "AccessReviewDecisionIdentity", polymorphicDiscriminator: { - serializedName: "ruleType", - clientName: "ruleType" + serializedName: "type", + clientName: "type" }, modelProperties: { - id: { - serializedName: "id", + type: { + serializedName: "type", + required: true, type: { name: "String" } }, - ruleType: { - serializedName: "ruleType", - required: true, + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - target: { - serializedName: "target", + displayName: { + serializedName: "displayName", + readOnly: true, type: { - name: "Composite", - className: "RoleManagementPolicyRuleTarget" + name: "String" } } } } }; -export const RoleManagementPolicyRuleTarget: coreClient.CompositeMapper = { +export const AccessReviewDecisionInsight: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyRuleTarget", + className: "AccessReviewDecisionInsight", modelProperties: { - caller: { - serializedName: "caller", + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - operations: { - serializedName: "operations", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - level: { - serializedName: "level", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - targetObjects: { - serializedName: "targetObjects", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - inheritableSettings: { - serializedName: "inheritableSettings", + typePropertiesType: { + serializedName: "properties.type", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - enforcedSettings: { - serializedName: "enforcedSettings", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - } - } - } -}; - -export const PolicyProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyProperties", - modelProperties: { - scope: { - serializedName: "scope", + insightCreatedDateTime: { + serializedName: "properties.insightCreatedDateTime", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "PolicyPropertiesScope" + name: "any" } } } } }; -export const PolicyPropertiesScope: coreClient.CompositeMapper = { +export const AccessReviewDecisionInsightProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyPropertiesScope", + className: "AccessReviewDecisionInsightProperties", + uberParent: "AccessReviewDecisionInsightProperties", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", + type: { + serializedName: "type", + required: true, type: { name: "String" } }, - type: { - serializedName: "type", + insightCreatedDateTime: { + serializedName: "insightCreatedDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "any" } } } } }; -export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { +export const AccessReviewContactedReviewerListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyListResult", + className: "AccessReviewContactedReviewerListResult", modelProperties: { value: { serializedName: "value", @@ -1525,7 +2086,7 @@ export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "RoleManagementPolicy" + className: "AccessReviewContactedReviewer" } } } @@ -1540,10 +2101,10 @@ export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { +export const AccessReviewContactedReviewer: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyAssignment", + className: "AccessReviewContactedReviewer", modelProperties: { id: { serializedName: "id", @@ -1566,193 +2127,181 @@ export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + userDisplayName: { + serializedName: "properties.userDisplayName", + readOnly: true, type: { name: "String" } }, - policyId: { - serializedName: "properties.policyId", + userPrincipalName: { + serializedName: "properties.userPrincipalName", + readOnly: true, type: { name: "String" } }, - policyAssignmentProperties: { - serializedName: "properties.policyAssignmentProperties", + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "PolicyAssignmentProperties" + name: "DateTime" } } } } }; -export const PolicyAssignmentProperties: coreClient.CompositeMapper = { +export const AccessReviewDefaultSettings: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentProperties", + className: "AccessReviewDefaultSettings", modelProperties: { - scope: { - serializedName: "scope", + id: { + serializedName: "id", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesScope" + name: "String" } }, - roleDefinition: { - serializedName: "roleDefinition", + name: { + serializedName: "name", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition" + name: "String" } }, - policy: { - serializedName: "policy", + type: { + serializedName: "type", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesPolicy" + name: "String" } - } - } - } -}; - -export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyAssignmentPropertiesScope", - modelProperties: { - id: { - serializedName: "id", + }, + mailNotificationsEnabled: { + serializedName: "properties.mailNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - displayName: { - serializedName: "displayName", + reminderNotificationsEnabled: { + serializedName: "properties.reminderNotificationsEnabled", type: { - name: "String" + name: "Boolean" } }, - type: { - serializedName: "type", + defaultDecisionEnabled: { + serializedName: "properties.defaultDecisionEnabled", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition", - modelProperties: { - id: { - serializedName: "id", + }, + justificationRequiredOnApproval: { + serializedName: "properties.justificationRequiredOnApproval", type: { - name: "String" + name: "Boolean" } }, - displayName: { - serializedName: "displayName", + defaultDecision: { + serializedName: "properties.defaultDecision", type: { name: "String" } }, - type: { - serializedName: "type", + autoApplyDecisionsEnabled: { + serializedName: "properties.autoApplyDecisionsEnabled", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const PolicyAssignmentPropertiesPolicy: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyAssignmentPropertiesPolicy", - modelProperties: { - id: { - serializedName: "id", + }, + recommendationsEnabled: { + serializedName: "properties.recommendationsEnabled", + type: { + name: "Boolean" + } + }, + recommendationLookBackDuration: { + serializedName: "properties.recommendationLookBackDuration", + type: { + name: "TimeSpan" + } + }, + instanceDurationInDays: { + serializedName: "properties.instanceDurationInDays", + type: { + name: "Number" + } + }, + typePropertiesRecurrenceRangeType: { + serializedName: "properties.recurrence.range.type", type: { name: "String" } }, - lastModifiedBy: { - serializedName: "lastModifiedBy", + numberOfOccurrences: { + serializedName: "properties.recurrence.range.numberOfOccurrences", type: { - name: "Composite", - className: "Principal" + name: "Number" } }, - lastModifiedDateTime: { - serializedName: "lastModifiedDateTime", + startDate: { + serializedName: "properties.recurrence.range.startDate", + nullable: true, type: { name: "DateTime" } - } - } - } -}; - -export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleManagementPolicyAssignmentListResult", - modelProperties: { - value: { - serializedName: "value", + }, + endDate: { + serializedName: "properties.recurrence.range.endDate", + nullable: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyAssignment" - } - } + name: "DateTime" } }, - nextLink: { - serializedName: "nextLink", + typePropertiesRecurrencePatternType: { + serializedName: "properties.recurrence.pattern.type", type: { name: "String" } + }, + interval: { + serializedName: "properties.recurrence.pattern.interval", + type: { + name: "Number" + } } } } }; -export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { +export const RecordAllDecisionsProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EligibleChildResourcesListResult", + className: "RecordAllDecisionsProperties", modelProperties: { - value: { - serializedName: "value", + principalId: { + serializedName: "principalId", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "EligibleChildResource" - } - } + name: "String" } }, - nextLink: { - serializedName: "nextLink", + resourceId: { + serializedName: "resourceId", + readOnly: true, + type: { + name: "String" + } + }, + decision: { + serializedName: "decision", + type: { + name: "String" + } + }, + justification: { + serializedName: "justification", type: { name: "String" } @@ -1761,10 +2310,10 @@ export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { } }; -export const EligibleChildResource: coreClient.CompositeMapper = { +export const Alert: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EligibleChildResource", + className: "Alert", modelProperties: { id: { serializedName: "id", @@ -1773,56 +2322,89 @@ export const EligibleChildResource: coreClient.CompositeMapper = { name: "String" } }, - name: { - serializedName: "name", + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + scope: { + serializedName: "properties.scope", + readOnly: true, + type: { + name: "String" + } + }, + isActive: { + serializedName: "properties.isActive", + type: { + name: "Boolean" + } + }, + incidentCount: { + serializedName: "properties.incidentCount", readOnly: true, type: { - name: "String" + name: "Number" } }, - type: { - serializedName: "type", + lastModifiedDateTime: { + serializedName: "properties.lastModifiedDateTime", readOnly: true, type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const RoleAssignmentListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentListResult", - modelProperties: { - value: { - serializedName: "value", + }, + lastScannedDateTime: { + serializedName: "properties.lastScannedDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + alertDefinition: { + serializedName: "properties.alertDefinition", + type: { + name: "Composite", + className: "AlertDefinition" + } + }, + alertIncidents: { + serializedName: "properties.alertIncidents", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignment" + className: "AlertIncident" } } } }, - nextLink: { - serializedName: "nextLink", - readOnly: true, + alertConfiguration: { + serializedName: "properties.alertConfiguration", type: { - name: "String" + name: "Composite", + className: "AlertConfiguration" } } } } }; -export const RoleAssignment: coreClient.CompositeMapper = { +export const AlertDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignment", + className: "AlertDefinition", modelProperties: { id: { serializedName: "id", @@ -1845,79 +2427,101 @@ export const RoleAssignment: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + displayName: { + serializedName: "properties.displayName", readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + scope: { + serializedName: "properties.scope", + readOnly: true, type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + description: { + serializedName: "properties.description", + readOnly: true, type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + severityLevel: { + serializedName: "properties.severityLevel", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + securityImpact: { + serializedName: "properties.securityImpact", + readOnly: true, type: { name: "String" } }, - condition: { - serializedName: "properties.condition", + mitigationSteps: { + serializedName: "properties.mitigationSteps", + readOnly: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + howToPrevent: { + serializedName: "properties.howToPrevent", + readOnly: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + isRemediatable: { + serializedName: "properties.isRemediatable", readOnly: true, type: { - name: "DateTime" + name: "Boolean" } }, - updatedOn: { - serializedName: "properties.updatedOn", + isConfigurable: { + serializedName: "properties.isConfigurable", readOnly: true, type: { - name: "DateTime" + name: "Boolean" + } + } + } + } +}; + +export const AlertIncident: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertIncident", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" } }, - createdBy: { - serializedName: "properties.createdBy", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } }, - updatedBy: { - serializedName: "properties.updatedBy", + type: { + serializedName: "type", readOnly: true, type: { name: "String" } }, - delegatedManagedIdentityResourceId: { - serializedName: "properties.delegatedManagedIdentityResourceId", + alertIncidentType: { + serializedName: "properties.alertIncidentType", type: { name: "String" } @@ -1926,182 +2530,217 @@ export const RoleAssignment: coreClient.CompositeMapper = { } }; -export const ErrorResponse: coreClient.CompositeMapper = { +export const AlertIncidentProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorResponse", + className: "AlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: { + serializedName: "alertIncidentType", + clientName: "alertIncidentType" + }, modelProperties: { - error: { - serializedName: "error", + alertIncidentType: { + serializedName: "alertIncidentType", + required: true, type: { - name: "Composite", - className: "ErrorDetail" + name: "String" } } } } }; -export const ErrorDetail: coreClient.CompositeMapper = { +export const AlertConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ErrorDetail", + className: "AlertConfiguration", modelProperties: { - code: { - serializedName: "code", + id: { + serializedName: "id", readOnly: true, type: { name: "String" } }, - message: { - serializedName: "message", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } }, - target: { - serializedName: "target", + type: { + serializedName: "type", readOnly: true, type: { name: "String" } }, - details: { - serializedName: "details", + alertDefinitionId: { + serializedName: "properties.alertDefinitionId", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorDetail" - } - } + name: "String" } }, - additionalInfo: { - serializedName: "additionalInfo", + scope: { + serializedName: "properties.scope", readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ErrorAdditionalInfo" - } - } + name: "String" } - } - } - } -}; - -export const ErrorAdditionalInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorAdditionalInfo", - modelProperties: { - type: { - serializedName: "type", - readOnly: true, + }, + isEnabled: { + serializedName: "properties.isEnabled", + type: { + name: "Boolean" + } + }, + alertConfigurationType: { + serializedName: "properties.alertConfigurationType", type: { name: "String" } }, - info: { - serializedName: "info", - readOnly: true, + alertDefinition: { + serializedName: "properties.alertDefinition", type: { - name: "Dictionary", - value: { type: { name: "any" } } + name: "Composite", + className: "AlertDefinition" } } } } }; -export const RoleAssignmentCreateParameters: coreClient.CompositeMapper = { +export const AlertConfigurationProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentCreateParameters", + className: "AlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: { + serializedName: "alertConfigurationType", + clientName: "alertConfigurationType" + }, modelProperties: { - scope: { - serializedName: "properties.scope", + alertDefinitionId: { + serializedName: "alertDefinitionId", readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", - required: true, + scope: { + serializedName: "scope", + readOnly: true, type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", - required: true, + isEnabled: { + serializedName: "isEnabled", type: { - name: "String" + name: "Boolean" } }, - principalType: { - serializedName: "properties.principalType", + alertConfigurationType: { + serializedName: "alertConfigurationType", + required: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + alertDefinition: { + serializedName: "alertDefinition", type: { - name: "String" + name: "Composite", + className: "AlertDefinition" } - }, - condition: { - serializedName: "properties.condition", + } + } + } +}; + +export const CloudError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudError", + modelProperties: { + error: { + serializedName: "error", type: { - name: "String" + name: "Composite", + className: "CloudErrorBody" } - }, - conditionVersion: { - serializedName: "properties.conditionVersion", + } + } + } +}; + +export const CloudErrorBody: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudErrorBody", + modelProperties: { + code: { + serializedName: "code", type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + message: { + serializedName: "message", type: { - name: "DateTime" + name: "String" } - }, - updatedOn: { - serializedName: "properties.updatedOn", - readOnly: true, + } + } + } +}; + +export const AlertListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Alert" + } + } } }, - createdBy: { - serializedName: "properties.createdBy", - readOnly: true, + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - updatedBy: { - serializedName: "properties.updatedBy", + } + } + } +}; + +export const AlertOperationResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertOperationResult", + modelProperties: { + id: { + serializedName: "id", readOnly: true, type: { name: "String" } }, - delegatedManagedIdentityResourceId: { - serializedName: "properties.delegatedManagedIdentityResourceId", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } @@ -2110,44 +2749,52 @@ export const RoleAssignmentCreateParameters: coreClient.CompositeMapper = { } }; -export const ValidationResponse: coreClient.CompositeMapper = { +export const AlertConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ValidationResponse", + className: "AlertConfigurationListResult", modelProperties: { - isValid: { - serializedName: "isValid", - readOnly: true, + value: { + serializedName: "value", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertConfiguration" + } + } } }, - errorInfo: { - serializedName: "errorInfo", + nextLink: { + serializedName: "nextLink", type: { - name: "Composite", - className: "ValidationResponseErrorInfo" + name: "String" } } } } }; -export const ValidationResponseErrorInfo: coreClient.CompositeMapper = { +export const AlertDefinitionListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ValidationResponseErrorInfo", + className: "AlertDefinitionListResult", modelProperties: { - code: { - serializedName: "code", - readOnly: true, + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertDefinition" + } + } } }, - message: { - serializedName: "message", - readOnly: true, + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2156,25 +2803,25 @@ export const ValidationResponseErrorInfo: coreClient.CompositeMapper = { } }; -export const RoleAssignmentScheduleFilter: coreClient.CompositeMapper = { +export const AlertIncidentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleFilter", + className: "AlertIncidentListResult", modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertIncident" + } + } } }, - status: { - serializedName: "status", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2183,31 +2830,25 @@ export const RoleAssignmentScheduleFilter: coreClient.CompositeMapper = { } }; -export const RoleAssignmentScheduleInstanceFilter: coreClient.CompositeMapper = { +export const AlertOperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleInstanceFilter", + className: "AlertOperationListResult", modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", - type: { - name: "String" - } - }, - status: { - serializedName: "status", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertOperationResult" + } + } } }, - roleAssignmentScheduleId: { - serializedName: "roleAssignmentScheduleId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2216,31 +2857,19 @@ export const RoleAssignmentScheduleInstanceFilter: coreClient.CompositeMapper = } }; -export const RoleAssignmentScheduleRequestFilter: coreClient.CompositeMapper = { +export const AccessReviewDecisionUserIdentity: coreClient.CompositeMapper = { + serializedName: "user", type: { name: "Composite", - className: "RoleAssignmentScheduleRequestFilter", + className: "AccessReviewDecisionUserIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: + AccessReviewDecisionIdentity.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - }, - roleDefinitionId: { - serializedName: "roleDefinitionId", - type: { - name: "String" - } - }, - requestorId: { - serializedName: "requestorId", - type: { - name: "String" - } - }, - status: { - serializedName: "status", + ...AccessReviewDecisionIdentity.type.modelProperties, + userPrincipalName: { + serializedName: "userPrincipalName", + readOnly: true, type: { name: "String" } @@ -2249,91 +2878,125 @@ export const RoleAssignmentScheduleRequestFilter: coreClient.CompositeMapper = { } }; -export const RoleEligibilityScheduleFilter: coreClient.CompositeMapper = { +export const AccessReviewDecisionServicePrincipalIdentity: coreClient.CompositeMapper = { + serializedName: "servicePrincipal", type: { name: "Composite", - className: "RoleEligibilityScheduleFilter", + 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 RoleEligibilityScheduleInstanceFilter: coreClient.CompositeMapper = { +export const AzureRolesAssignedOutsidePimAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertIncident", type: { name: "Composite", - className: "RoleEligibilityScheduleInstanceFilter", + 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" } }, - roleEligibilityScheduleId: { - serializedName: "roleEligibilityScheduleId", + roleDisplayName: { + serializedName: "roleDisplayName", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilityScheduleRequestFilter", - 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" } @@ -2342,133 +3005,90 @@ export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = } }; -export const ApprovalSettings: coreClient.CompositeMapper = { +export const DuplicateRoleCreatedAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertIncident", type: { name: "Composite", - className: "ApprovalSettings", + className: "DuplicateRoleCreatedAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - isApprovalRequired: { - serializedName: "isApprovalRequired", - type: { - name: "Boolean" - } - }, - isApprovalRequiredForExtension: { - serializedName: "isApprovalRequiredForExtension", - type: { - name: "Boolean" - } - }, - isRequestorJustificationRequired: { - serializedName: "isRequestorJustificationRequired", + ...AlertIncidentProperties.type.modelProperties, + roleName: { + serializedName: "roleName", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - approvalMode: { - serializedName: "approvalMode", + duplicateRoles: { + serializedName: "duplicateRoles", + readOnly: true, type: { name: "String" } }, - approvalStages: { - serializedName: "approvalStages", + reason: { + serializedName: "reason", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ApprovalStage" - } - } + name: "String" } } } } }; -export const ApprovalStage: coreClient.CompositeMapper = { +export const TooManyOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertIncident", type: { name: "Composite", - className: "ApprovalStage", + className: "TooManyOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - approvalStageTimeOutInDays: { - serializedName: "approvalStageTimeOutInDays", - type: { - name: "Number" - } - }, - isApproverJustificationRequired: { - serializedName: "isApproverJustificationRequired", - type: { - name: "Boolean" - } - }, - escalationTimeInMinutes: { - serializedName: "escalationTimeInMinutes", - type: { - name: "Number" - } - }, - primaryApprovers: { - serializedName: "primaryApprovers", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "UserSet" - } - } - } - }, - isEscalationEnabled: { - serializedName: "isEscalationEnabled", + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - escalationApprovers: { - serializedName: "escalationApprovers", + assigneeType: { + serializedName: "assigneeType", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "UserSet" - } - } + name: "String" } } } } }; -export const UserSet: coreClient.CompositeMapper = { +export const TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertIncident", type: { name: "Composite", - className: "UserSet", + className: + "TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, modelProperties: { - userType: { - serializedName: "userType", - type: { - name: "String" - } - }, - isBackup: { - serializedName: "isBackup", - type: { - name: "Boolean" - } - }, - id: { - serializedName: "id", + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "description", + assigneeType: { + serializedName: "assigneeType", + readOnly: true, type: { name: "String" } @@ -2477,111 +3097,94 @@ export const UserSet: coreClient.CompositeMapper = { } }; -export const RoleAssignmentFilter: coreClient.CompositeMapper = { +export const AzureRolesAssignedOutsidePimAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertConfiguration", type: { name: "Composite", - className: "RoleAssignmentFilter", + className: "AzureRolesAssignedOutsidePimAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - principalId: { - serializedName: "principalId", - type: { - name: "String" - } - } + ...AlertConfigurationProperties.type.modelProperties } } }; -export const RoleManagementPolicyApprovalRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyApprovalRule", +export const DuplicateRoleCreatedAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyApprovalRule", - uberParent: "RoleManagementPolicyRule", + className: "DuplicateRoleCreatedAlertConfigurationProperties", + 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 TooManyOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyAuthenticationContextRule", - uberParent: "RoleManagementPolicyRule", + className: "TooManyOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - isEnabled: { - serializedName: "isEnabled", + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfOwners: { + serializedName: "thresholdNumberOfOwners", type: { - name: "Boolean" + name: "Number" } }, - claimValue: { - serializedName: "claimValue", + thresholdPercentageOfOwnersOutOfAllRoleMembers: { + serializedName: "thresholdPercentageOfOwnersOutOfAllRoleMembers", type: { - name: "String" + name: "Number" } } } } }; -export const RoleManagementPolicyEnablementRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyEnablementRule", +export const TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration", type: { name: "Composite", - className: "RoleManagementPolicyEnablementRule", - uberParent: "RoleManagementPolicyRule", + className: + "TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + AlertConfigurationProperties.type.polymorphicDiscriminator, modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - enabledRules: { - serializedName: "enabledRules", + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfPermanentOwners: { + serializedName: "thresholdNumberOfPermanentOwners", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" + } + }, + thresholdPercentageOfPermanentOwnersOutOfAllOwners: { + serializedName: "thresholdPercentageOfPermanentOwnersOutOfAllOwners", + type: { + name: "Number" } } } } }; -export const RoleManagementPolicyExpirationRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyExpirationRule", +export const AlertsRefreshHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyExpirationRule", - uberParent: "RoleManagementPolicyRule", - polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + className: "AlertsRefreshHeaders", modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - isExpirationRequired: { - serializedName: "isExpirationRequired", - type: { - name: "Boolean" - } - }, - maximumDuration: { - serializedName: "maximumDuration", + location: { + serializedName: "location", type: { name: "String" } @@ -2590,60 +3193,35 @@ export const RoleManagementPolicyExpirationRule: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyNotificationRule: coreClient.CompositeMapper = { - serializedName: "RoleManagementPolicyNotificationRule", +export const AlertsRefreshAllHeaders: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyNotificationRule", - uberParent: "RoleManagementPolicyRule", - polymorphicDiscriminator: - RoleManagementPolicyRule.type.polymorphicDiscriminator, + className: "AlertsRefreshAllHeaders", modelProperties: { - ...RoleManagementPolicyRule.type.modelProperties, - notificationType: { - serializedName: "notificationType", - type: { - name: "String" - } - }, - notificationLevel: { - serializedName: "notificationLevel", - type: { - name: "String" - } - }, - recipientType: { - serializedName: "recipientType", + 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 e11ce4a859be..ffc76f89e1af 100644 --- a/sdk/authorization/arm-authorization/src/models/parameters.ts +++ b/sdk/authorization/arm-authorization/src/models/parameters.ts @@ -12,11 +12,14 @@ import { OperationQueryParameter } from "@azure/core-client"; import { - RoleAssignmentScheduleRequest as RoleAssignmentScheduleRequestMapper, - RoleEligibilityScheduleRequest as RoleEligibilityScheduleRequestMapper, - RoleManagementPolicy as RoleManagementPolicyMapper, - RoleManagementPolicyAssignment as RoleManagementPolicyAssignmentMapper, - RoleAssignmentCreateParameters as RoleAssignmentCreateParametersMapper + 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 = { @@ -43,35 +46,35 @@ export const $host: OperationURLParameter = { skipEncoding: true }; -export const scope: OperationURLParameter = { - parameterPath: "scope", +export const apiVersion: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - serializedName: "scope", - required: true, + defaultValue: "2021-12-01-preview", + isConstant: true, + serializedName: "api-version", type: { name: "String" } - }, - skipEncoding: true + } }; -export const roleAssignmentScheduleName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleName", +export const nextLink: OperationURLParameter = { + parameterPath: "nextLink", mapper: { - serializedName: "roleAssignmentScheduleName", + serializedName: "nextLink", required: true, type: { name: "String" } - } + }, + skipEncoding: true }; -export const apiVersion: OperationQueryParameter = { - parameterPath: "apiVersion", +export const subscriptionId: OperationURLParameter = { + parameterPath: "subscriptionId", mapper: { - defaultValue: "2020-10-01-preview", - isConstant: true, - serializedName: "api-version", + serializedName: "subscriptionId", + required: true, type: { name: "String" } @@ -85,25 +88,14 @@ export const filter: OperationQueryParameter = { type: { name: "String" } - } -}; - -export const nextLink: OperationURLParameter = { - parameterPath: "nextLink", - mapper: { - serializedName: "nextLink", - required: true, - type: { - name: "String" - } }, skipEncoding: true }; -export const roleAssignmentScheduleInstanceName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleInstanceName", +export const historyDefinitionId: OperationURLParameter = { + parameterPath: "historyDefinitionId", mapper: { - serializedName: "roleAssignmentScheduleInstanceName", + serializedName: "historyDefinitionId", required: true, type: { name: "String" @@ -123,15 +115,15 @@ export const contentType: OperationParameter = { } }; -export const parameters: OperationParameter = { - parameterPath: "parameters", - mapper: RoleAssignmentScheduleRequestMapper +export const properties: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewHistoryDefinitionPropertiesMapper }; -export const roleAssignmentScheduleRequestName: OperationURLParameter = { - parameterPath: "roleAssignmentScheduleRequestName", +export const instanceId: OperationURLParameter = { + parameterPath: "instanceId", mapper: { - serializedName: "roleAssignmentScheduleRequestName", + serializedName: "instanceId", required: true, type: { name: "String" @@ -139,10 +131,10 @@ export const roleAssignmentScheduleRequestName: OperationURLParameter = { } }; -export const roleEligibilityScheduleName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleName", +export const scheduleDefinitionId: OperationURLParameter = { + parameterPath: "scheduleDefinitionId", mapper: { - serializedName: "roleEligibilityScheduleName", + serializedName: "scheduleDefinitionId", required: true, type: { name: "String" @@ -150,10 +142,15 @@ export const roleEligibilityScheduleName: OperationURLParameter = { } }; -export const roleEligibilityScheduleInstanceName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleInstanceName", +export const properties1: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleDefinitionPropertiesMapper +}; + +export const id: OperationURLParameter = { + parameterPath: "id", mapper: { - serializedName: "roleEligibilityScheduleInstanceName", + serializedName: "id", required: true, type: { name: "String" @@ -161,26 +158,20 @@ export const roleEligibilityScheduleInstanceName: OperationURLParameter = { } }; -export const parameters1: OperationParameter = { - parameterPath: "parameters", - mapper: RoleEligibilityScheduleRequestMapper +export const properties2: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewInstancePropertiesMapper }; -export const roleEligibilityScheduleRequestName: OperationURLParameter = { - parameterPath: "roleEligibilityScheduleRequestName", - mapper: { - serializedName: "roleEligibilityScheduleRequestName", - required: true, - type: { - name: "String" - } - } +export const properties3: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleSettingsMapper }; -export const roleManagementPolicyName: OperationURLParameter = { - parameterPath: "roleManagementPolicyName", +export const scope: OperationURLParameter = { + parameterPath: "scope", mapper: { - serializedName: "roleManagementPolicyName", + serializedName: "scope", required: true, type: { name: "String" @@ -188,15 +179,15 @@ export const roleManagementPolicyName: OperationURLParameter = { } }; -export const parameters2: OperationParameter = { - parameterPath: "parameters", - mapper: RoleManagementPolicyMapper +export const properties4: OperationParameter = { + parameterPath: "properties", + mapper: RecordAllDecisionsPropertiesMapper }; -export const roleManagementPolicyAssignmentName: OperationURLParameter = { - parameterPath: "roleManagementPolicyAssignmentName", +export const decisionId: OperationURLParameter = { + parameterPath: "decisionId", mapper: { - serializedName: "roleManagementPolicyAssignmentName", + serializedName: "decisionId", required: true, type: { name: "String" @@ -204,89 +195,61 @@ export const roleManagementPolicyAssignmentName: OperationURLParameter = { } }; -export const parameters3: OperationParameter = { - parameterPath: "parameters", - mapper: RoleManagementPolicyAssignmentMapper +export const properties5: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewDecisionPropertiesMapper }; -export const subscriptionId: OperationURLParameter = { - parameterPath: "subscriptionId", +export const scope1: OperationURLParameter = { + parameterPath: "scope", mapper: { - constraints: { - MinLength: 1 - }, - serializedName: "subscriptionId", + serializedName: "scope", required: true, type: { name: "String" } - } -}; - -export const filter1: OperationQueryParameter = { - parameterPath: ["options", "filter"], - mapper: { - serializedName: "$filter", - type: { - name: "String" - } }, skipEncoding: true }; -export const tenantId: OperationQueryParameter = { - parameterPath: ["options", "tenantId"], +export const alertId: OperationURLParameter = { + parameterPath: "alertId", mapper: { - serializedName: "tenantId", + serializedName: "alertId", + required: true, type: { name: "String" } - } + }, + skipEncoding: true }; -export const resourceGroupName: OperationURLParameter = { - parameterPath: "resourceGroupName", +export const apiVersion1: OperationQueryParameter = { + parameterPath: "apiVersion", mapper: { - constraints: { - MaxLength: 90, - MinLength: 1 - }, - serializedName: "resourceGroupName", - required: true, + defaultValue: "2022-08-01-preview", + isConstant: true, + serializedName: "api-version", type: { name: "String" } } }; -export const resourceProviderNamespace: OperationURLParameter = { - parameterPath: "resourceProviderNamespace", - mapper: { - serializedName: "resourceProviderNamespace", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true +export const parameters: OperationParameter = { + parameterPath: "parameters", + mapper: AlertMapper }; -export const resourceType: OperationURLParameter = { - parameterPath: "resourceType", - mapper: { - serializedName: "resourceType", - required: true, - type: { - name: "String" - } - }, - skipEncoding: true +export const parameters1: OperationParameter = { + parameterPath: "parameters", + mapper: AlertConfigurationMapper }; -export const resourceName: OperationURLParameter = { - parameterPath: "resourceName", +export const alertDefinitionId: OperationURLParameter = { + parameterPath: "alertDefinitionId", mapper: { - serializedName: "resourceName", + serializedName: "alertDefinitionId", required: true, type: { name: "String" @@ -295,10 +258,10 @@ export const resourceName: OperationURLParameter = { skipEncoding: true }; -export const roleAssignmentName: OperationURLParameter = { - parameterPath: "roleAssignmentName", +export const alertIncidentId: OperationURLParameter = { + parameterPath: "alertIncidentId", mapper: { - serializedName: "roleAssignmentName", + serializedName: "alertIncidentId", required: true, type: { name: "String" @@ -307,15 +270,10 @@ export const roleAssignmentName: OperationURLParameter = { skipEncoding: true }; -export const parameters4: OperationParameter = { - parameterPath: "parameters", - mapper: RoleAssignmentCreateParametersMapper -}; - -export const roleAssignmentId: OperationURLParameter = { - parameterPath: "roleAssignmentId", +export const operationId: OperationURLParameter = { + parameterPath: "operationId", mapper: { - serializedName: "roleAssignmentId", + serializedName: "operationId", required: true, type: { name: "String" 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..858a755b9d7f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,166 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(historyDefinitionId, options); + } + }; + } + + private async *listPagingPage( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(historyDefinitionId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion], + 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..be4fd2dbd809 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts @@ -0,0 +1,183 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..447d349d61c7 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.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 } from "@azure/core-paging"; +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: () => { + return this.listPagingPage(scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion], + 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..279a0dcd6999 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.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 } from "@azure/core-paging"; +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: () => { + return this.listPagingPage(scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..906f2e1f59ae --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts @@ -0,0 +1,267 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..70922c853751 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts @@ -0,0 +1,252 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scheduleDefinitionId, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..dd65a2600972 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts @@ -0,0 +1,201 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scheduleDefinitionId, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..455682d885e8 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts @@ -0,0 +1,295 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts new file mode 100644 index 000000000000..0f55d5eace36 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts @@ -0,0 +1,140 @@ +/* + * 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 { 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 { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewScheduleDefinitionsAssignedForMyApproval operations. */ +export class AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl + implements AccessReviewScheduleDefinitionsAssignedForMyApproval { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewScheduleDefinitionsAssignedForMyApproval class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances assigned for my approval. + * @param options The options parameters. + */ + public list( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Get access review instances assigned for my approval. + * @param options The options parameters. + */ + private _list( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams + ): Promise< + AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse + > { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; 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..7b0983da09fe --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts @@ -0,0 +1,228 @@ +/* + * 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 { 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, + AlertConfigurationsGetOptionalParams, + AlertConfigurationsGetResponse, + AlertConfigurationsUpdateOptionalParams, + AlertConfigurationsListForScopeResponse, + 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: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion1], + 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 50% rename from sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts rename to sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts index f625ac6f3ab2..1e8d4c27dae9 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts +++ b/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts @@ -6,45 +6,44 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -import "@azure/core-paging"; import { PagedAsyncIterableIterator } from "@azure/core-paging"; -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 { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; import { - RoleAssignmentSchedule, - RoleAssignmentSchedulesListForScopeNextOptionalParams, - RoleAssignmentSchedulesListForScopeOptionalParams, - RoleAssignmentSchedulesGetOptionalParams, - RoleAssignmentSchedulesGetResponse, - RoleAssignmentSchedulesListForScopeResponse, - RoleAssignmentSchedulesListForScopeNextResponse + AlertDefinition, + AlertDefinitionsListForScopeNextOptionalParams, + AlertDefinitionsListForScopeOptionalParams, + AlertDefinitionsGetOptionalParams, + AlertDefinitionsGetResponse, + AlertDefinitionsListForScopeResponse, + AlertDefinitionsListForScopeNextResponse } from "../models"; /// -/** Class containing RoleAssignmentSchedules operations. */ -export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { - private readonly client: AuthorizationManagementClientContext; +/** 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: AuthorizationManagementClientContext) { + constructor(client: AuthorizationManagementClient) { this.client = client; } /** - * 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() { @@ -61,8 +60,8 @@ export class RoleAssignmentSchedulesImpl implements RoleAssignmentSchedules { private async *listForScopePagingPage( scope: string, - options?: RoleAssignmentSchedulesListForScopeOptionalParams - ): AsyncIterableIterator { + options?: AlertDefinitionsListForScopeOptionalParams + ): AsyncIterableIterator { let result = await this._listForScope(scope, options); yield result.value || []; let continuationToken = result.nextLink; @@ -75,39 +74,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 @@ -116,15 +121,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 @@ -136,38 +141,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.apiVersion], + 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.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope], + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], headerParameters: [Parameters.accept], serializer }; @@ -176,14 +182,14 @@ const listForScopeNextOperationSpec: coreClient.OperationSpec = { httpMethod: "GET", responses: { 200: { - bodyMapper: Mappers.RoleAssignmentScheduleListResult + bodyMapper: Mappers.AlertDefinitionListResult }, default: { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], + queryParameters: [Parameters.apiVersion1], + 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..6f35d8e2be60 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertIncidents.ts @@ -0,0 +1,260 @@ +/* + * 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 { 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, + AlertIncidentsGetOptionalParams, + AlertIncidentsGetResponse, + AlertIncidentsListForScopeResponse, + 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: () => { + return this.listForScopePagingPage(scope, alertId, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, alertId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext( + scope, + alertId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion1], + 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..0d75409938f9 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertOperation.ts @@ -0,0 +1,101 @@ +/* + * 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, + AlertOperationListForScopeOptionalParams, + AlertOperationListForScopeResponse +} 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 + ); + } + + /** + * Gets alert operations for a resource scope. + * @param scope The scope of the alert operation. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertOperationListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } +} +// 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 +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertOperations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertOperationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.scope1], + 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..d64180ec9a49 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alerts.ts @@ -0,0 +1,453 @@ +/* + * 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 { 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 { PollerLike, PollOperationState, LroEngine } from "@azure/core-lro"; +import { LroImpl } from "../lroImpl"; +import { + Alert, + AlertsListForScopeNextOptionalParams, + AlertsListForScopeOptionalParams, + AlertsGetOptionalParams, + AlertsGetResponse, + AlertsUpdateOptionalParams, + AlertsListForScopeResponse, + 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: () => { + return this.listForScopePagingPage(scope, options); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertsListForScopeOptionalParams + ): AsyncIterableIterator { + let result = await this._listForScope(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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< + PollerLike, AlertsRefreshResponse> + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { scope, alertId, options }, + refreshOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "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< + PollerLike< + PollOperationState, + AlertsRefreshAllResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperation = 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 = new LroImpl( + sendOperation, + { scope, options }, + refreshAllOperationSpec + ); + const poller = new LroEngine(lro, { + resumeFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + lroResourceLocationConfig: "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 + } + }, + queryParameters: [Parameters.apiVersion1], + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], + 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 1e98e4feaa3e..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts +++ /dev/null @@ -1,149 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { EligibleChildResources } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - EligibleChildResource, - EligibleChildResourcesGetNextOptionalParams, - EligibleChildResourcesGetOptionalParams, - EligibleChildResourcesGetResponse, - EligibleChildResourcesGetNextResponse -} from "../models"; - -/// -/** Class containing EligibleChildResources operations. */ -export class EligibleChildResourcesImpl implements EligibleChildResources { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class EligibleChildResources class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.getPagingPage(scope, options); - } - }; - } - - private async *getPagingPage( - scope: string, - options?: EligibleChildResourcesGetOptionalParams - ): AsyncIterableIterator { - let result = await this._get(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._getNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion, Parameters.filter], - 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 - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 e547e894ea9f..dc6d3b3df2f9 100644 --- a/sdk/authorization/arm-authorization/src/operations/index.ts +++ b/sdk/authorization/arm-authorization/src/operations/index.ts @@ -6,13 +6,33 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -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 "./eligibleChildResources"; -export * from "./roleAssignments"; +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/operations.ts b/sdk/authorization/arm-authorization/src/operations/operations.ts new file mode 100644 index 000000000000..dc058f45933d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/operations.ts @@ -0,0 +1,137 @@ +/* + * 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 { 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 { + Operation, + OperationsListNextOptionalParams, + OperationsListOptionalParams, + OperationsListResponse, + OperationsListNextResponse +} from "../models"; + +/// +/** Class containing Operations operations. */ +export class OperationsImpl implements Operations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class Operations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Lists the operations available from this provider. + * @param options The options parameters. + */ + public list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(options); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + options?: OperationsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists the operations available from this provider. + * @param options The options parameters. + */ + private _list( + options?: OperationsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: OperationsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: "/providers/Microsoft.Authorization/operations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.nextLink], + 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 68ee23d55f0c..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts +++ /dev/null @@ -1,192 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleAssignmentScheduleInstances } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleAssignmentScheduleInstance, - RoleAssignmentScheduleInstancesListForScopeNextOptionalParams, - RoleAssignmentScheduleInstancesListForScopeOptionalParams, - RoleAssignmentScheduleInstancesListForScopeResponse, - RoleAssignmentScheduleInstancesGetOptionalParams, - RoleAssignmentScheduleInstancesGetResponse, - RoleAssignmentScheduleInstancesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignmentScheduleInstances operations. */ -export class RoleAssignmentScheduleInstancesImpl - implements RoleAssignmentScheduleInstances { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleAssignmentScheduleInstances class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion, Parameters.filter], - 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.apiVersion], - 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 - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 6443fee67f96..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts +++ /dev/null @@ -1,280 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleAssignmentScheduleRequests } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleAssignmentScheduleRequest, - RoleAssignmentScheduleRequestsListForScopeNextOptionalParams, - RoleAssignmentScheduleRequestsListForScopeOptionalParams, - RoleAssignmentScheduleRequestsCreateOptionalParams, - RoleAssignmentScheduleRequestsCreateResponse, - RoleAssignmentScheduleRequestsGetOptionalParams, - RoleAssignmentScheduleRequestsGetResponse, - RoleAssignmentScheduleRequestsListForScopeResponse, - RoleAssignmentScheduleRequestsCancelOptionalParams, - RoleAssignmentScheduleRequestsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignmentScheduleRequests operations. */ -export class RoleAssignmentScheduleRequestsImpl - implements RoleAssignmentScheduleRequests { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleAssignmentScheduleRequests class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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 - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' - * for a resource group, and - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleAssignmentScheduleRequestName The name of the role assignment to create. It can be any - * valid GUID. - * @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 - ); - } - - /** - * 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.parameters, - queryParameters: [Parameters.apiVersion], - 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.apiVersion], - 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.apiVersion, Parameters.filter], - 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.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 5fbb7b8825d2..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignments.ts +++ /dev/null @@ -1,974 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleAssignments } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleAssignment, - RoleAssignmentsListForSubscriptionNextOptionalParams, - RoleAssignmentsListForSubscriptionOptionalParams, - RoleAssignmentsListForResourceGroupNextOptionalParams, - RoleAssignmentsListForResourceGroupOptionalParams, - RoleAssignmentsListForResourceNextOptionalParams, - RoleAssignmentsListForResourceOptionalParams, - RoleAssignmentsListForScopeNextOptionalParams, - RoleAssignmentsListForScopeOptionalParams, - RoleAssignmentsListForSubscriptionResponse, - RoleAssignmentsListForResourceGroupResponse, - RoleAssignmentsListForResourceResponse, - RoleAssignmentsGetOptionalParams, - RoleAssignmentsGetResponse, - RoleAssignmentCreateParameters, - RoleAssignmentsCreateOptionalParams, - RoleAssignmentsCreateResponse, - RoleAssignmentsDeleteOptionalParams, - RoleAssignmentsDeleteResponse, - RoleAssignmentsValidateOptionalParams, - RoleAssignmentsValidateResponse, - RoleAssignmentsListForScopeResponse, - RoleAssignmentsGetByIdOptionalParams, - RoleAssignmentsGetByIdResponse, - RoleAssignmentsCreateByIdOptionalParams, - RoleAssignmentsCreateByIdResponse, - RoleAssignmentsDeleteByIdOptionalParams, - RoleAssignmentsDeleteByIdResponse, - RoleAssignmentsValidateByIdOptionalParams, - RoleAssignmentsValidateByIdResponse, - RoleAssignmentsListForSubscriptionNextResponse, - RoleAssignmentsListForResourceGroupNextResponse, - RoleAssignmentsListForResourceNextResponse, - RoleAssignmentsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleAssignments operations. */ -export class RoleAssignmentsImpl implements RoleAssignments { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleAssignments class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForSubscriptionPagingPage(options); - } - }; - } - - private async *listForSubscriptionPagingPage( - options?: RoleAssignmentsListForSubscriptionOptionalParams - ): AsyncIterableIterator { - let result = await this._listForSubscription(options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForSubscriptionNext(continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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: () => { - return this.listForResourceGroupPagingPage(resourceGroupName, options); - } - }; - } - - private async *listForResourceGroupPagingPage( - resourceGroupName: string, - options?: RoleAssignmentsListForResourceGroupOptionalParams - ): AsyncIterableIterator { - let result = await this._listForResourceGroup(resourceGroupName, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForResourceGroupNext( - resourceGroupName, - continuationToken, - options - ); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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: () => { - return this.listForResourcePagingPage( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - ); - } - }; - } - - private async *listForResourcePagingPage( - resourceGroupName: string, - resourceProviderNamespace: string, - resourceType: string, - resourceName: string, - options?: RoleAssignmentsListForResourceOptionalParams - ): AsyncIterableIterator { - let result = await this._listForResource( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - options - ); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForResourceNext( - resourceGroupName, - resourceProviderNamespace, - resourceType, - resourceName, - continuationToken, - options - ); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleAssignmentsListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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 - ); - } - - /** - * Validate a role assignment create or update operation by scope and name. - * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: - * '/subscriptions/{subscriptionId}'), resource group (format: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' - * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - validate( - scope: string, - roleAssignmentName: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsValidateOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { scope, roleAssignmentName, parameters, options }, - validateOperationSpec - ); - } - - /** - * 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 - ); - } - - /** - * Validate a role assignment create or update operation by ID. - * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource - * name, and resource type. Format: - * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: - * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - validateById( - roleAssignmentId: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsValidateByIdOptionalParams - ): Promise { - return this.client.sendOperationRequest( - { roleAssignmentId, parameters, options }, - validateByIdOperationSpec - ); - } - - /** - * 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.apiVersion, - 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.apiVersion, - 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.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.resourceType, - Parameters.resourceName - ], - 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.apiVersion, 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.parameters4, - queryParameters: [Parameters.apiVersion], - 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.apiVersion, Parameters.tenantId], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentName - ], - headerParameters: [Parameters.accept], - serializer -}; -const validateOperationSpec: coreClient.OperationSpec = { - path: - "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}/validate", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ValidationResponse - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - requestBody: Parameters.parameters4, - queryParameters: [Parameters.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleAssignmentName - ], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const listForScopeOperationSpec: coreClient.OperationSpec = { - path: "/{scope}/providers/Microsoft.Authorization/roleAssignments", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - 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.apiVersion, 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.parameters4, - queryParameters: [Parameters.apiVersion], - 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.apiVersion, Parameters.tenantId], - urlParameters: [Parameters.$host, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept], - serializer -}; -const validateByIdOperationSpec: coreClient.OperationSpec = { - path: "/{roleAssignmentId}/validate", - httpMethod: "POST", - responses: { - 200: { - bodyMapper: Mappers.ValidationResponse - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - requestBody: Parameters.parameters4, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host, Parameters.roleAssignmentId], - headerParameters: [Parameters.accept, Parameters.contentType], - mediaType: "json", - serializer -}; -const listForSubscriptionNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceGroupNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - Parameters.resourceGroupName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForResourceNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [ - Parameters.$host, - Parameters.nextLink, - Parameters.subscriptionId, - Parameters.resourceGroupName, - Parameters.resourceProviderNamespace, - Parameters.resourceType, - Parameters.resourceName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleAssignmentListResult - }, - default: { - bodyMapper: Mappers.ErrorResponse - } - }, - queryParameters: [ - Parameters.apiVersion, - Parameters.filter1, - Parameters.tenantId - ], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 29ca5e2f75b4..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts +++ /dev/null @@ -1,192 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleEligibilityScheduleInstances } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleEligibilityScheduleInstance, - RoleEligibilityScheduleInstancesListForScopeNextOptionalParams, - RoleEligibilityScheduleInstancesListForScopeOptionalParams, - RoleEligibilityScheduleInstancesListForScopeResponse, - RoleEligibilityScheduleInstancesGetOptionalParams, - RoleEligibilityScheduleInstancesGetResponse, - RoleEligibilityScheduleInstancesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilityScheduleInstances operations. */ -export class RoleEligibilityScheduleInstancesImpl - implements RoleEligibilityScheduleInstances { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleEligibilityScheduleInstances class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion, Parameters.filter], - 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.apiVersion], - 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 - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 5c13e3ab412d..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts +++ /dev/null @@ -1,280 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleEligibilityScheduleRequests } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleEligibilityScheduleRequest, - RoleEligibilityScheduleRequestsListForScopeNextOptionalParams, - RoleEligibilityScheduleRequestsListForScopeOptionalParams, - RoleEligibilityScheduleRequestsCreateOptionalParams, - RoleEligibilityScheduleRequestsCreateResponse, - RoleEligibilityScheduleRequestsGetOptionalParams, - RoleEligibilityScheduleRequestsGetResponse, - RoleEligibilityScheduleRequestsListForScopeResponse, - RoleEligibilityScheduleRequestsCancelOptionalParams, - RoleEligibilityScheduleRequestsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilityScheduleRequests operations. */ -export class RoleEligibilityScheduleRequestsImpl - implements RoleEligibilityScheduleRequests { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleEligibilityScheduleRequests class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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 - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' - * for a resource group, and - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any - * valid GUID. - * @param parameters Parameters for the role eligibility schedule request. - * @param 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 - ); - } - - /** - * 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.parameters1, - queryParameters: [Parameters.apiVersion], - 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.apiVersion], - 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.apiVersion, Parameters.filter], - 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.apiVersion], - urlParameters: [ - Parameters.$host, - Parameters.scope, - Parameters.roleEligibilityScheduleRequestName - ], - headerParameters: [Parameters.accept], - serializer -}; -const listForScopeNextOperationSpec: coreClient.OperationSpec = { - path: "{nextLink}", - httpMethod: "GET", - responses: { - 200: { - bodyMapper: Mappers.RoleEligibilityScheduleRequestListResult - }, - default: { - bodyMapper: Mappers.CloudError - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 3ab81c1dc5ba..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts +++ /dev/null @@ -1,189 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleEligibilitySchedules } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleEligibilitySchedule, - RoleEligibilitySchedulesListForScopeNextOptionalParams, - RoleEligibilitySchedulesListForScopeOptionalParams, - RoleEligibilitySchedulesGetOptionalParams, - RoleEligibilitySchedulesGetResponse, - RoleEligibilitySchedulesListForScopeResponse, - RoleEligibilitySchedulesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleEligibilitySchedules operations. */ -export class RoleEligibilitySchedulesImpl implements RoleEligibilitySchedules { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleEligibilitySchedules class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleEligibilitySchedulesListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion], - 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.apiVersion, Parameters.filter], - 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 - } - }, - queryParameters: [Parameters.apiVersion, Parameters.filter], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 69f6ca49cf7f..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts +++ /dev/null @@ -1,271 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleManagementPolicies } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleManagementPolicy, - RoleManagementPoliciesListForScopeNextOptionalParams, - RoleManagementPoliciesListForScopeOptionalParams, - RoleManagementPoliciesGetOptionalParams, - RoleManagementPoliciesGetResponse, - RoleManagementPoliciesUpdateOptionalParams, - RoleManagementPoliciesUpdateResponse, - RoleManagementPoliciesDeleteOptionalParams, - RoleManagementPoliciesListForScopeResponse, - RoleManagementPoliciesListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleManagementPolicies operations. */ -export class RoleManagementPoliciesImpl implements RoleManagementPolicies { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleManagementPolicies class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleManagementPoliciesListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion], - 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.parameters2, - queryParameters: [Parameters.apiVersion], - 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.apiVersion], - 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.apiVersion], - 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 - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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 e8a8efe0fa3e..000000000000 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts +++ /dev/null @@ -1,276 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { RoleManagementPolicyAssignments } from "../operationsInterfaces"; -import * as coreClient from "@azure/core-client"; -import * as Mappers from "../models/mappers"; -import * as Parameters from "../models/parameters"; -import { AuthorizationManagementClientContext } from "../authorizationManagementClientContext"; -import { - RoleManagementPolicyAssignment, - RoleManagementPolicyAssignmentsListForScopeNextOptionalParams, - RoleManagementPolicyAssignmentsListForScopeOptionalParams, - RoleManagementPolicyAssignmentsGetOptionalParams, - RoleManagementPolicyAssignmentsGetResponse, - RoleManagementPolicyAssignmentsCreateOptionalParams, - RoleManagementPolicyAssignmentsCreateResponse, - RoleManagementPolicyAssignmentsDeleteOptionalParams, - RoleManagementPolicyAssignmentsListForScopeResponse, - RoleManagementPolicyAssignmentsListForScopeNextResponse -} from "../models"; - -/// -/** Class containing RoleManagementPolicyAssignments operations. */ -export class RoleManagementPolicyAssignmentsImpl - implements RoleManagementPolicyAssignments { - private readonly client: AuthorizationManagementClientContext; - - /** - * Initialize a new instance of the class RoleManagementPolicyAssignments class. - * @param client Reference to the service client - */ - constructor(client: AuthorizationManagementClientContext) { - 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: () => { - return this.listForScopePagingPage(scope, options); - } - }; - } - - private async *listForScopePagingPage( - scope: string, - options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams - ): AsyncIterableIterator { - let result = await this._listForScope(scope, options); - yield result.value || []; - let continuationToken = result.nextLink; - while (continuationToken) { - result = await this._listForScopeNext(scope, continuationToken, options); - continuationToken = result.nextLink; - yield result.value || []; - } - } - - 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.apiVersion], - 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.parameters3, - queryParameters: [Parameters.apiVersion], - 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.apiVersion], - 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.apiVersion], - 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 - } - }, - queryParameters: [Parameters.apiVersion], - urlParameters: [Parameters.$host, Parameters.scope, Parameters.nextLink], - 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..4dd34deb02ac --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,176 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, historyDefinitionId, options); + } + }; + } + + private async *listPagingPage( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, historyDefinitionId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scope, + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion], + 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..d7ce3b64da70 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts @@ -0,0 +1,192 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, options); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..44e71a1d525d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,188 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion], + 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..7d31c2071106 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts @@ -0,0 +1,188 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..69199a03d0b7 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts @@ -0,0 +1,267 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, scheduleDefinitionId, options); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, scheduleDefinitionId, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..996af85d028c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts @@ -0,0 +1,310 @@ +/* + * 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 { 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: () => { + return this.listPagingPage(scope, options); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scope, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + 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..f4319fa7350d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.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 } from "@azure/core-paging"; +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: () => { + return this.listPagingPage(scheduleDefinitionId, id, options); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(scheduleDefinitionId, id, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + 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 + } + }, + queryParameters: [Parameters.apiVersion], + 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..00fce45694b5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.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 { + AlertOperationGetOptionalParams, + AlertOperationGetResponse, + AlertOperationListForScopeOptionalParams, + AlertOperationListForScopeResponse +} 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; + /** + * Gets alert operations for a resource scope. + * @param scope The scope of the alert operation. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertOperationListForScopeOptionalParams + ): 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..87e695e76992 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { PollerLike, PollOperationState } 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< + PollerLike, 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< + PollerLike< + PollOperationState, + 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/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts deleted file mode 100644 index 0138496ee322..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/eligibleChildResources.ts +++ /dev/null @@ -1,28 +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 "@azure/core-paging"; -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/index.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts index e547e894ea9f..dc6d3b3df2f9 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts @@ -6,13 +6,33 @@ * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ -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 "./eligibleChildResources"; -export * from "./roleAssignments"; +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/operations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/operations.ts new file mode 100644 index 000000000000..92a4da30855a --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/operations.ts @@ -0,0 +1,22 @@ +/* + * 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 { Operation, OperationsListOptionalParams } from "../models"; + +/// +/** Interface representing a Operations. */ +export interface Operations { + /** + * Lists the operations available from this provider. + * @param options The options parameters. + */ + list( + options?: OperationsListOptionalParams + ): PagedAsyncIterableIterator; +} 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 7ee590cfbb23..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleInstances.ts +++ /dev/null @@ -1,42 +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 "@azure/core-paging"; -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 c46f3b993eb6..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts +++ /dev/null @@ -1,76 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignmentScheduleRequest, - RoleAssignmentScheduleRequestsListForScopeOptionalParams, - RoleAssignmentScheduleRequestsCreateOptionalParams, - RoleAssignmentScheduleRequestsCreateResponse, - RoleAssignmentScheduleRequestsGetOptionalParams, - RoleAssignmentScheduleRequestsGetResponse, - RoleAssignmentScheduleRequestsCancelOptionalParams -} 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 - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' - * for a resource group, and - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleAssignmentScheduleRequestName The name of the role assignment to create. It can be any - * valid GUID. - * @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; -} 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 c0e5a062a1a6..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentSchedules.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 "@azure/core-paging"; -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 718ee54a19bd..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignments.ts +++ /dev/null @@ -1,195 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleAssignment, - RoleAssignmentsListForSubscriptionOptionalParams, - RoleAssignmentsListForResourceGroupOptionalParams, - RoleAssignmentsListForResourceOptionalParams, - RoleAssignmentsListForScopeOptionalParams, - RoleAssignmentsGetOptionalParams, - RoleAssignmentsGetResponse, - RoleAssignmentCreateParameters, - RoleAssignmentsCreateOptionalParams, - RoleAssignmentsCreateResponse, - RoleAssignmentsDeleteOptionalParams, - RoleAssignmentsDeleteResponse, - RoleAssignmentsValidateOptionalParams, - RoleAssignmentsValidateResponse, - RoleAssignmentsGetByIdOptionalParams, - RoleAssignmentsGetByIdResponse, - RoleAssignmentsCreateByIdOptionalParams, - RoleAssignmentsCreateByIdResponse, - RoleAssignmentsDeleteByIdOptionalParams, - RoleAssignmentsDeleteByIdResponse, - RoleAssignmentsValidateByIdOptionalParams, - RoleAssignmentsValidateByIdResponse -} 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; - /** - * Validate a role assignment create or update operation by scope and name. - * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: - * '/subscriptions/{subscriptionId}'), resource group (format: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: - * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' - * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - validate( - scope: string, - roleAssignmentName: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsValidateOptionalParams - ): 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; - /** - * Validate a role assignment create or update operation by ID. - * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource - * name, and resource type. Format: - * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: - * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ - * @param parameters Parameters for the role assignment. - * @param options The options parameters. - */ - validateById( - roleAssignmentId: string, - parameters: RoleAssignmentCreateParameters, - options?: RoleAssignmentsValidateByIdOptionalParams - ): 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 d59284393a78..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleInstances.ts +++ /dev/null @@ -1,42 +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 "@azure/core-paging"; -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 70c01dd4e630..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts +++ /dev/null @@ -1,76 +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 "@azure/core-paging"; -import { PagedAsyncIterableIterator } from "@azure/core-paging"; -import { - RoleEligibilityScheduleRequest, - RoleEligibilityScheduleRequestsListForScopeOptionalParams, - RoleEligibilityScheduleRequestsCreateOptionalParams, - RoleEligibilityScheduleRequestsCreateResponse, - RoleEligibilityScheduleRequestsGetOptionalParams, - RoleEligibilityScheduleRequestsGetResponse, - RoleEligibilityScheduleRequestsCancelOptionalParams -} 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 - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' - * for a resource group, and - * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' - * for a resource. - * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any - * valid GUID. - * @param parameters Parameters for the role eligibility schedule request. - * @param 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; -} 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 8722a0e08226..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilitySchedules.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 "@azure/core-paging"; -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 43edadbd4354..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicies.ts +++ /dev/null @@ -1,68 +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 "@azure/core-paging"; -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 4c06af309a19..000000000000 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleManagementPolicyAssignments.ts +++ /dev/null @@ -1,71 +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 "@azure/core-paging"; -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 603440b3a359..3e6ae96443f3 100644 --- a/sdk/authorization/arm-authorization/tsconfig.json +++ b/sdk/authorization/arm-authorization/tsconfig.json @@ -9,11 +9,19 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6", "dom"], + "lib": [ + "es6", + "dom" + ], "declaration": true, "outDir": "./dist-esm", "importHelpers": true }, - "include": ["./src/**/*.ts"], - "exclude": ["node_modules"] -} + "include": [ + "./src/**/*.ts", + "./test/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/sdk/authorization/ci.mgmt.yml b/sdk/authorization/ci.mgmt.yml index a7561b803ee9..0b34a0e29f9c 100644 --- a/sdk/authorization/ci.mgmt.yml +++ b/sdk/authorization/ci.mgmt.yml @@ -11,6 +11,7 @@ trigger: - sdk/authorization/ci.mgmt.yml - sdk/authorization/arm-authorization/ - sdk/authorization/arm-authorization-profile-2020-09-01-hybrid + - sdk/authorization/arm-authorization pr: branches: include: @@ -25,6 +26,7 @@ pr: - sdk/authorization/ci.mgmt.yml - sdk/authorization/arm-authorization/ - sdk/authorization/arm-authorization-profile-2020-09-01-hybrid + - sdk/authorization/arm-authorization extends: template: /eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: