diff --git a/sdk/authorization/arm-authorization/CHANGELOG.md b/sdk/authorization/arm-authorization/CHANGELOG.md index 6ff52503a038..edf126d0c38a 100644 --- a/sdk/authorization/arm-authorization/CHANGELOG.md +++ b/sdk/authorization/arm-authorization/CHANGELOG.md @@ -1,15 +1,306 @@ # Release History + +## 10.0.0-beta.1 (2023-07-18) + +**Features** -## 9.0.1 (Unreleased) + - Added operation group AccessReviewDefaultSettingsOperations + - Added operation group AccessReviewHistoryDefinitionInstance + - Added operation group AccessReviewHistoryDefinitionInstances + - Added operation group AccessReviewHistoryDefinitionOperations + - Added operation group AccessReviewHistoryDefinitions + - Added operation group AccessReviewInstanceContactedReviewers + - Added operation group AccessReviewInstanceDecisions + - Added operation group AccessReviewInstanceMyDecisions + - Added operation group AccessReviewInstanceOperations + - Added operation group AccessReviewInstances + - Added operation group AccessReviewInstancesAssignedForMyApproval + - Added operation group AccessReviewScheduleDefinitions + - Added operation group AccessReviewScheduleDefinitionsAssignedForMyApproval + - Added operation group AlertConfigurations + - Added operation group AlertDefinitions + - Added operation group AlertIncidents + - Added operation group AlertOperation + - Added operation group Alerts + - Added operation group Operations + - Added operation group ScopeAccessReviewDefaultSettings + - Added operation group ScopeAccessReviewHistoryDefinition + - Added operation group ScopeAccessReviewHistoryDefinitionInstance + - Added operation group ScopeAccessReviewHistoryDefinitionInstances + - Added operation group ScopeAccessReviewHistoryDefinitions + - Added operation group ScopeAccessReviewInstance + - Added operation group ScopeAccessReviewInstanceContactedReviewers + - Added operation group ScopeAccessReviewInstanceDecisions + - Added operation group ScopeAccessReviewInstances + - Added operation group ScopeAccessReviewScheduleDefinitions + - Added operation group TenantLevelAccessReviewInstanceContactedReviewers + - Added Interface AccessReviewContactedReviewer + - Added Interface AccessReviewContactedReviewerListResult + - Added Interface AccessReviewDecision + - Added Interface AccessReviewDecisionIdentity + - Added Interface AccessReviewDecisionInsight + - Added Interface AccessReviewDecisionInsightProperties + - Added Interface AccessReviewDecisionListResult + - Added Interface AccessReviewDecisionProperties + - Added Interface AccessReviewDecisionServicePrincipalIdentity + - Added Interface AccessReviewDecisionUserIdentity + - Added Interface AccessReviewDecisionUserSignInInsightProperties + - Added Interface AccessReviewDefaultSettings + - Added Interface AccessReviewDefaultSettingsGetOptionalParams + - Added Interface AccessReviewDefaultSettingsPutOptionalParams + - Added Interface AccessReviewHistoryDefinition + - Added Interface AccessReviewHistoryDefinitionCreateOptionalParams + - Added Interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstanceListResult + - Added Interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams + - Added Interface AccessReviewHistoryDefinitionInstancesListOptionalParams + - Added Interface AccessReviewHistoryDefinitionListResult + - Added Interface AccessReviewHistoryDefinitionProperties + - Added Interface AccessReviewHistoryDefinitionsGetByIdOptionalParams + - Added Interface AccessReviewHistoryDefinitionsListNextOptionalParams + - Added Interface AccessReviewHistoryDefinitionsListOptionalParams + - Added Interface AccessReviewHistoryInstance + - Added Interface AccessReviewInstance + - Added Interface AccessReviewInstanceAcceptRecommendationsOptionalParams + - Added Interface AccessReviewInstanceApplyDecisionsOptionalParams + - Added Interface AccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface AccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface AccessReviewInstanceDecisionsListNextOptionalParams + - Added Interface AccessReviewInstanceDecisionsListOptionalParams + - Added Interface AccessReviewInstanceListResult + - Added Interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsListNextOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsListOptionalParams + - Added Interface AccessReviewInstanceMyDecisionsPatchOptionalParams + - Added Interface AccessReviewInstanceProperties + - Added Interface AccessReviewInstanceResetDecisionsOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams + - Added Interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams + - Added Interface AccessReviewInstancesCreateOptionalParams + - Added Interface AccessReviewInstanceSendRemindersOptionalParams + - Added Interface AccessReviewInstancesGetByIdOptionalParams + - Added Interface AccessReviewInstancesListNextOptionalParams + - Added Interface AccessReviewInstancesListOptionalParams + - Added Interface AccessReviewInstanceStopOptionalParams + - Added Interface AccessReviewReviewer + - Added Interface AccessReviewScheduleDefinition + - Added Interface AccessReviewScheduleDefinitionListResult + - Added Interface AccessReviewScheduleDefinitionProperties + - Added Interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextOptionalParams + - Added Interface AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + - Added Interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsGetByIdOptionalParams + - Added Interface AccessReviewScheduleDefinitionsListNextOptionalParams + - Added Interface AccessReviewScheduleDefinitionsListOptionalParams + - Added Interface AccessReviewScheduleDefinitionsStopOptionalParams + - Added Interface AccessReviewScheduleSettings + - Added Interface AccessReviewScope + - Added Interface Alert + - Added Interface AlertConfiguration + - Added Interface AlertConfigurationListResult + - Added Interface AlertConfigurationProperties + - Added Interface AlertConfigurationsGetOptionalParams + - Added Interface AlertConfigurationsListForScopeNextOptionalParams + - Added Interface AlertConfigurationsListForScopeOptionalParams + - Added Interface AlertConfigurationsUpdateOptionalParams + - Added Interface AlertDefinition + - Added Interface AlertDefinitionListResult + - Added Interface AlertDefinitionsGetOptionalParams + - Added Interface AlertDefinitionsListForScopeNextOptionalParams + - Added Interface AlertDefinitionsListForScopeOptionalParams + - Added Interface AlertIncident + - Added Interface AlertIncidentListResult + - Added Interface AlertIncidentProperties + - Added Interface AlertIncidentsGetOptionalParams + - Added Interface AlertIncidentsListForScopeNextOptionalParams + - Added Interface AlertIncidentsListForScopeOptionalParams + - Added Interface AlertIncidentsRemediateOptionalParams + - Added Interface AlertListResult + - Added Interface AlertOperationGetOptionalParams + - Added Interface AlertOperationResult + - Added Interface AlertsGetOptionalParams + - Added Interface AlertsListForScopeNextOptionalParams + - Added Interface AlertsListForScopeOptionalParams + - Added Interface AlertsRefreshAllHeaders + - Added Interface AlertsRefreshAllOptionalParams + - Added Interface AlertsRefreshHeaders + - Added Interface AlertsRefreshOptionalParams + - Added Interface AlertsUpdateOptionalParams + - Added Interface AzureRolesAssignedOutsidePimAlertConfigurationProperties + - Added Interface AzureRolesAssignedOutsidePimAlertIncidentProperties + - Added Interface DuplicateRoleCreatedAlertConfigurationProperties + - Added Interface DuplicateRoleCreatedAlertIncidentProperties + - Added Interface ErrorDefinition + - Added Interface ErrorDefinitionProperties + - Added Interface Operation + - Added Interface OperationDisplay + - Added Interface OperationListResult + - Added Interface OperationsListNextOptionalParams + - Added Interface OperationsListOptionalParams + - Added Interface RecordAllDecisionsProperties + - Added Interface ScopeAccessReviewDefaultSettingsGetOptionalParams + - Added Interface ScopeAccessReviewDefaultSettingsPutOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams + - Added Interface ScopeAccessReviewHistoryDefinitionsListOptionalParams + - Added Interface ScopeAccessReviewInstanceApplyDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams + - Added Interface ScopeAccessReviewInstanceDecisionsListOptionalParams + - Added Interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstanceResetDecisionsOptionalParams + - Added Interface ScopeAccessReviewInstancesCreateOptionalParams + - Added Interface ScopeAccessReviewInstanceSendRemindersOptionalParams + - Added Interface ScopeAccessReviewInstancesGetByIdOptionalParams + - Added Interface ScopeAccessReviewInstancesListNextOptionalParams + - Added Interface ScopeAccessReviewInstancesListOptionalParams + - Added Interface ScopeAccessReviewInstanceStopOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsListOptionalParams + - Added Interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams + - Added Interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + - Added Interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + - Added Interface TooManyOwnersAssignedToResourceAlertConfigurationProperties + - Added Interface TooManyOwnersAssignedToResourceAlertIncidentProperties + - Added Interface TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties + - Added Interface TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties + - Added Type Alias AccessRecommendationType + - Added Type Alias AccessReviewActorIdentityType + - Added Type Alias AccessReviewApplyResult + - Added Type Alias AccessReviewDecisionIdentityUnion + - Added Type Alias AccessReviewDecisionInsightPropertiesUnion + - Added Type Alias AccessReviewDecisionInsightType + - Added Type Alias AccessReviewDecisionPrincipalResourceMembershipType + - Added Type Alias AccessReviewDefaultSettingsGetResponse + - Added Type Alias AccessReviewDefaultSettingsPutResponse + - Added Type Alias AccessReviewHistoryDefinitionCreateResponse + - Added Type Alias AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + - Added Type Alias AccessReviewHistoryDefinitionInstancesListNextResponse + - Added Type Alias AccessReviewHistoryDefinitionInstancesListResponse + - Added Type Alias AccessReviewHistoryDefinitionsGetByIdResponse + - Added Type Alias AccessReviewHistoryDefinitionsListNextResponse + - Added Type Alias AccessReviewHistoryDefinitionsListResponse + - Added Type Alias AccessReviewHistoryDefinitionStatus + - Added Type Alias AccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias AccessReviewInstanceContactedReviewersListResponse + - Added Type Alias AccessReviewInstanceDecisionsListNextResponse + - Added Type Alias AccessReviewInstanceDecisionsListResponse + - Added Type Alias AccessReviewInstanceMyDecisionsGetByIdResponse + - Added Type Alias AccessReviewInstanceMyDecisionsListNextResponse + - Added Type Alias AccessReviewInstanceMyDecisionsListResponse + - Added Type Alias AccessReviewInstanceMyDecisionsPatchResponse + - Added Type Alias AccessReviewInstanceReviewersType + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalGetByIdResponse + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalListNextResponse + - Added Type Alias AccessReviewInstancesAssignedForMyApprovalListResponse + - Added Type Alias AccessReviewInstancesCreateResponse + - Added Type Alias AccessReviewInstancesGetByIdResponse + - Added Type Alias AccessReviewInstancesListNextResponse + - Added Type Alias AccessReviewInstancesListResponse + - Added Type Alias AccessReviewInstanceStatus + - Added Type Alias AccessReviewRecurrencePatternType + - Added Type Alias AccessReviewRecurrenceRangeType + - Added Type Alias AccessReviewResult + - Added Type Alias AccessReviewReviewerType + - Added Type Alias AccessReviewScheduleDefinitionReviewersType + - Added Type Alias AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse + - Added Type Alias AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse + - Added Type Alias AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse + - Added Type Alias AccessReviewScheduleDefinitionsGetByIdResponse + - Added Type Alias AccessReviewScheduleDefinitionsListNextResponse + - Added Type Alias AccessReviewScheduleDefinitionsListResponse + - Added Type Alias AccessReviewScheduleDefinitionStatus + - Added Type Alias AccessReviewScopeAssignmentState + - Added Type Alias AccessReviewScopePrincipalType + - Added Type Alias AlertConfigurationPropertiesUnion + - Added Type Alias AlertConfigurationsGetResponse + - Added Type Alias AlertConfigurationsListForScopeNextResponse + - Added Type Alias AlertConfigurationsListForScopeResponse + - Added Type Alias AlertDefinitionsGetResponse + - Added Type Alias AlertDefinitionsListForScopeNextResponse + - Added Type Alias AlertDefinitionsListForScopeResponse + - Added Type Alias AlertIncidentPropertiesUnion + - Added Type Alias AlertIncidentsGetResponse + - Added Type Alias AlertIncidentsListForScopeNextResponse + - Added Type Alias AlertIncidentsListForScopeResponse + - Added Type Alias AlertOperationGetResponse + - Added Type Alias AlertsGetResponse + - Added Type Alias AlertsListForScopeNextResponse + - Added Type Alias AlertsListForScopeResponse + - Added Type Alias AlertsRefreshAllResponse + - Added Type Alias AlertsRefreshResponse + - Added Type Alias DecisionResourceType + - Added Type Alias DecisionTargetType + - Added Type Alias DefaultDecisionType + - Added Type Alias OperationsListNextResponse + - Added Type Alias OperationsListResponse + - Added Type Alias RecordAllDecisionsResult + - Added Type Alias ScopeAccessReviewDefaultSettingsGetResponse + - Added Type Alias ScopeAccessReviewDefaultSettingsPutResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionCreateResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstancesListNextResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionInstancesListResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsGetByIdResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsListNextResponse + - Added Type Alias ScopeAccessReviewHistoryDefinitionsListResponse + - Added Type Alias ScopeAccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias ScopeAccessReviewInstanceContactedReviewersListResponse + - Added Type Alias ScopeAccessReviewInstanceDecisionsListNextResponse + - Added Type Alias ScopeAccessReviewInstanceDecisionsListResponse + - Added Type Alias ScopeAccessReviewInstancesCreateResponse + - Added Type Alias ScopeAccessReviewInstancesGetByIdResponse + - Added Type Alias ScopeAccessReviewInstancesListNextResponse + - Added Type Alias ScopeAccessReviewInstancesListResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsGetByIdResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsListNextResponse + - Added Type Alias ScopeAccessReviewScheduleDefinitionsListResponse + - Added Type Alias SeverityLevel + - Added Type Alias TenantLevelAccessReviewInstanceContactedReviewersListNextResponse + - Added Type Alias TenantLevelAccessReviewInstanceContactedReviewersListResponse + - Interface Permission has a new optional parameter condition + - Interface Permission has a new optional parameter conditionVersion + - Added Enum KnownAccessRecommendationType + - Added Enum KnownAccessReviewActorIdentityType + - Added Enum KnownAccessReviewApplyResult + - Added Enum KnownAccessReviewDecisionInsightType + - Added Enum KnownAccessReviewDecisionPrincipalResourceMembershipType + - Added Enum KnownAccessReviewHistoryDefinitionStatus + - Added Enum KnownAccessReviewInstanceReviewersType + - Added Enum KnownAccessReviewInstanceStatus + - Added Enum KnownAccessReviewRecurrencePatternType + - Added Enum KnownAccessReviewRecurrenceRangeType + - Added Enum KnownAccessReviewResult + - Added Enum KnownAccessReviewReviewerType + - Added Enum KnownAccessReviewScheduleDefinitionReviewersType + - Added Enum KnownAccessReviewScheduleDefinitionStatus + - Added Enum KnownAccessReviewScopeAssignmentState + - Added Enum KnownAccessReviewScopePrincipalType + - Added Enum KnownDecisionResourceType + - Added Enum KnownDecisionTargetType + - Added Enum KnownDefaultDecisionType + - Added Enum KnownRecordAllDecisionsResult + - Added Enum KnownSeverityLevel -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes +**Breaking Changes** + - Class AuthorizationManagementClient has a new signature + - Interface RoleManagementPolicyAssignment no longer has parameter effectiveRules + + ## 9.0.0 (2023-04-21) The package of @azure/arm-authorization is using our next generation design principles since version 9.0.0, which contains breaking changes. diff --git a/sdk/authorization/arm-authorization/README.md b/sdk/authorization/arm-authorization/README.md index 77dbb2054d21..8d2011b58bc6 100644 --- a/sdk/authorization/arm-authorization/README.md +++ b/sdk/authorization/arm-authorization/README.md @@ -6,7 +6,7 @@ Role based access control provides you a way to apply granular level policy admi [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-authorization) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-authorization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-authorization?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/authorization/arm-authorization/_meta.json b/sdk/authorization/arm-authorization/_meta.json index 44f6cd3f2291..5c7b26a1ecf3 100644 --- a/sdk/authorization/arm-authorization/_meta.json +++ b/sdk/authorization/arm-authorization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "3a36681ec533a862d6df270d638326eb007bffb0", + "commit": "8f6415ddb9324539b9f6ba9e326511133b4311c4", "readme": "specification/authorization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\authorization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.10 --generate-sample=true", + "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/authorization/resource-manager/readme.md --use=@autorest/typescript@^6.0.4", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", - "use": "@autorest/typescript@6.0.0-rc.10" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.1", + "use": "@autorest/typescript@^6.0.4" } \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/package.json b/sdk/authorization/arm-authorization/package.json index 566330caa693..33887118f6c6 100644 --- a/sdk/authorization/arm-authorization/package.json +++ b/sdk/authorization/arm-authorization/package.json @@ -3,11 +3,13 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for AuthorizationManagementClient.", - "version": "9.0.1", + "version": "10.0.0-beta.1", "engines": { "node": ">=14.0.0" }, "dependencies": { + "@azure/core-lro": "^2.5.3", + "@azure/abort-controller": "^1.0.0", "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", @@ -109,13 +111,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-authorization?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/authorization/arm-authorization" +} \ No newline at end of file diff --git a/sdk/authorization/arm-authorization/review/arm-authorization.api.md b/sdk/authorization/arm-authorization/review/arm-authorization.api.md index fbaa59453ea8..3d91584e2688 100644 --- a/sdk/authorization/arm-authorization/review/arm-authorization.api.md +++ b/sdk/authorization/arm-authorization/review/arm-authorization.api.md @@ -6,7 +6,1039 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; +import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { SimplePollerLike } from '@azure/core-lro'; + +// @public +export type AccessRecommendationType = string; + +// @public +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 AccessReviewContactedReviewerListResult { + nextLink?: string; + value?: AccessReviewContactedReviewer[]; +} + +// @public +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 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 type AccessReviewDecisionInsightPropertiesUnion = AccessReviewDecisionInsightProperties | AccessReviewDecisionUserSignInInsightProperties; + +// @public +export type AccessReviewDecisionInsightType = string; + +// @public +export interface AccessReviewDecisionListResult { + nextLink?: string; + value?: AccessReviewDecision[]; +} + +// @public +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 AccessReviewDecisionServicePrincipalIdentity extends AccessReviewDecisionIdentity { + readonly appId?: string; + type: "servicePrincipal"; +} + +// @public +export interface AccessReviewDecisionUserIdentity extends AccessReviewDecisionIdentity { + type: "user"; + readonly userPrincipalName?: string; +} + +// @public +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 AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +// @public +export interface AccessReviewDefaultSettingsOperations { + get(options?: AccessReviewDefaultSettingsGetOptionalParams): Promise; + put(properties: AccessReviewScheduleSettings, options?: AccessReviewDefaultSettingsPutOptionalParams): Promise; +} + +// @public +export interface AccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions { +} + +// @public +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 interface AccessReviewHistoryDefinitionInstance { + generateDownloadUri(historyDefinitionId: string, instanceId: string, options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; +} + +// @public +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; + +// @public +export interface AccessReviewHistoryDefinitionInstanceListResult { + nextLink?: string; + value?: AccessReviewHistoryInstance[]; +} + +// @public +export interface AccessReviewHistoryDefinitionInstances { + list(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface AccessReviewHistoryDefinitionListResult { + nextLink?: string; + value?: AccessReviewHistoryDefinition[]; +} + +// @public +export interface AccessReviewHistoryDefinitionOperations { + create(historyDefinitionId: string, properties: AccessReviewHistoryDefinitionProperties, options?: AccessReviewHistoryDefinitionCreateOptionalParams): Promise; + deleteById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams): Promise; +} + +// @public +export interface AccessReviewHistoryDefinitionProperties { + readonly createdDateTime?: Date; + decisions?: AccessReviewResult[]; + displayName?: string; + endDate?: Date; + instances?: AccessReviewHistoryInstance[]; + interval?: number; + numberOfOccurrences?: number; + readonly principalId?: string; + readonly principalName?: string; + readonly principalType?: AccessReviewActorIdentityType; + readonly reviewHistoryPeriodEndDateTime?: Date; + readonly reviewHistoryPeriodStartDateTime?: Date; + scopes?: AccessReviewScope[]; + startDate?: Date; + readonly status?: AccessReviewHistoryDefinitionStatus; + typeSettingsPatternType?: AccessReviewRecurrencePatternType; + typeSettingsRangeType?: AccessReviewRecurrenceRangeType; + readonly userPrincipalName?: string; +} + +// @public +export interface AccessReviewHistoryDefinitions { + getById(historyDefinitionId: string, options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams): Promise; + list(options?: AccessReviewHistoryDefinitionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + +// @public +export interface AccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @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; + readonly downloadUri?: string; + expiration?: Date; + fulfilledDateTime?: Date; + readonly id?: string; + readonly name?: string; + reviewHistoryPeriodEndDateTime?: Date; + reviewHistoryPeriodStartDateTime?: Date; + runDateTime?: Date; + readonly status?: AccessReviewHistoryDefinitionStatus; + readonly type?: string; +} + +// @public +export interface AccessReviewInstance { + backupReviewers?: AccessReviewReviewer[]; + endDateTime?: Date; + readonly id?: string; + readonly name?: string; + reviewers?: AccessReviewReviewer[]; + readonly reviewersType?: AccessReviewInstanceReviewersType; + startDateTime?: Date; + readonly status?: AccessReviewInstanceStatus; + readonly type?: string; +} + +// @public +export interface AccessReviewInstanceAcceptRecommendationsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AccessReviewInstanceApplyDecisionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface AccessReviewInstanceDecisions { + list(scheduleDefinitionId: string, id: string, options?: AccessReviewInstanceDecisionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; + +// @public +export interface AccessReviewInstanceListResult { + nextLink?: string; + value?: AccessReviewInstance[]; +} + +// @public +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 type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; + +// @public +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @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 { +} + +// @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 { +} + +// @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 { +} + +// @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 interface AccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; + +// @public +export interface AccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface AccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface AccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AccessReviewScheduleDefinitionStatus = string; + +// @public +export interface AccessReviewScheduleSettings { + autoApplyDecisionsEnabled?: boolean; + defaultDecision?: DefaultDecisionType; + defaultDecisionEnabled?: boolean; + endDate?: Date; + instanceDurationInDays?: number; + interval?: number; + justificationRequiredOnApproval?: boolean; + mailNotificationsEnabled?: boolean; + numberOfOccurrences?: number; + recommendationLookBackDuration?: string; + recommendationsEnabled?: boolean; + reminderNotificationsEnabled?: boolean; + startDate?: Date; + typeRecurrencePatternType?: AccessReviewRecurrencePatternType; + typeRecurrenceRangeType?: AccessReviewRecurrenceRangeType; +} + +// @public +export interface 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 AccessReviewScopeAssignmentState = string; + +// @public +export type AccessReviewScopePrincipalType = string; + +// @public +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 AlertConfiguration { + alertConfigurationType?: string; + readonly alertDefinition?: AlertDefinition; + readonly alertDefinitionId?: string; + readonly id?: string; + isEnabled?: boolean; + readonly name?: string; + readonly scope?: string; + readonly type?: string; +} + +// @public +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; +} + +// @public (undocumented) +export type AlertConfigurationPropertiesUnion = AlertConfigurationProperties | AzureRolesAssignedOutsidePimAlertConfigurationProperties | DuplicateRoleCreatedAlertConfigurationProperties | TooManyOwnersAssignedToResourceAlertConfigurationProperties | TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; + +// @public +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 AlertConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertConfigurationsGetResponse = AlertConfiguration; + +// @public +export interface AlertConfigurationsListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertConfigurationsListForScopeNextResponse = AlertConfigurationListResult; + +// @public +export interface AlertConfigurationsListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertConfigurationsListForScopeResponse = AlertConfigurationListResult; + +// @public +export interface AlertConfigurationsUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AlertDefinition { + readonly description?: string; + readonly displayName?: string; + readonly howToPrevent?: string; + readonly id?: string; + readonly isConfigurable?: boolean; + readonly isRemediatable?: boolean; + readonly mitigationSteps?: string; + readonly name?: string; + readonly scope?: string; + readonly securityImpact?: string; + readonly severityLevel?: SeverityLevel; + readonly type?: string; +} + +// @public +export interface AlertDefinitionListResult { + nextLink?: string; + value?: AlertDefinition[]; +} + +// @public +export interface AlertDefinitions { + get(scope: string, alertDefinitionId: string, options?: AlertDefinitionsGetOptionalParams): Promise; + listForScope(scope: string, options?: AlertDefinitionsListForScopeOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AlertDefinitionsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertDefinitionsGetResponse = AlertDefinition; + +// @public +export interface AlertDefinitionsListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertDefinitionsListForScopeNextResponse = AlertDefinitionListResult; + +// @public +export interface AlertDefinitionsListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertDefinitionsListForScopeResponse = AlertDefinitionListResult; + +// @public +export interface AlertIncident { + alertIncidentType?: string; + readonly id?: string; + readonly name?: string; + readonly type?: string; +} + +// @public +export interface AlertIncidentListResult { + nextLink?: string; + value?: AlertIncident[]; +} + +// @public +export interface AlertIncidentProperties { + alertIncidentType: "AzureRolesAssignedOutsidePimAlertIncident" | "DuplicateRoleCreatedAlertIncident" | "TooManyOwnersAssignedToResourceAlertIncident" | "TooManyPermanentOwnersAssignedToResourceAlertIncident"; +} + +// @public (undocumented) +export type AlertIncidentPropertiesUnion = AlertIncidentProperties | AzureRolesAssignedOutsidePimAlertIncidentProperties | DuplicateRoleCreatedAlertIncidentProperties | TooManyOwnersAssignedToResourceAlertIncidentProperties | TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties; + +// @public +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 AlertIncidentsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertIncidentsGetResponse = AlertIncident; + +// @public +export interface AlertIncidentsListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertIncidentsListForScopeNextResponse = AlertIncidentListResult; + +// @public +export interface AlertIncidentsListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertIncidentsListForScopeResponse = AlertIncidentListResult; + +// @public +export interface AlertIncidentsRemediateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface AlertListResult { + nextLink?: string; + value?: Alert[]; +} + +// @public +export interface AlertOperation { + get(scope: string, operationId: string, options?: AlertOperationGetOptionalParams): Promise; +} + +// @public +export interface AlertOperationGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertOperationGetResponse = AlertOperationResult; + +// @public +export interface AlertOperationResult { + readonly createdDateTime?: Date; + readonly id?: string; + readonly lastActionDateTime?: Date; + readonly resourceLocation?: string; + readonly status?: string; + readonly statusDetail?: string; +} + +// @public +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 AlertsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertsGetResponse = Alert; + +// @public +export interface AlertsListForScopeNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertsListForScopeNextResponse = AlertListResult; + +// @public +export interface AlertsListForScopeOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AlertsListForScopeResponse = AlertListResult; + +// @public +export interface AlertsRefreshAllHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface AlertsRefreshAllOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AlertsRefreshAllResponse = AlertsRefreshAllHeaders & AlertOperationResult; + +// @public +export interface AlertsRefreshHeaders { + // (undocumented) + location?: string; +} + +// @public +export interface AlertsRefreshOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; + +// @public +export interface AlertsUpdateOptionalParams extends coreClient.OperationOptions { +} // @public export type ApprovalMode = string; @@ -38,6 +1070,43 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { // (undocumented) $host: string; constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); + constructor(credentials: coreAuth.TokenCredential, 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) classicAdministrators: ClassicAdministrators; // (undocumented) @@ -47,6 +1116,8 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { // (undocumented) globalAdministrator: GlobalAdministrator; // (undocumented) + operations: Operations; + // (undocumented) permissions: Permissions_2; // (undocumented) providerOperationsMetadataOperations: ProviderOperationsMetadataOperations; @@ -71,7 +1142,29 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { // (undocumented) roleManagementPolicyAssignments: RoleManagementPolicyAssignments; // (undocumented) - subscriptionId: string; + 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 @@ -80,6 +1173,26 @@ export interface AuthorizationManagementClientOptionalParams extends coreClient. endpoint?: string; } +// @public +export interface AzureRolesAssignedOutsidePimAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "AzureRolesAssignedOutsidePimAlertConfiguration"; +} + +// @public +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 interface ClassicAdministrator { emailAddress?: string; @@ -125,6 +1238,15 @@ export interface CloudErrorBody { message?: string; } +// @public +export type DecisionResourceType = string; + +// @public +export type DecisionTargetType = string; + +// @public +export type DefaultDecisionType = string; + // @public export interface DenyAssignment { condition?: string; @@ -253,6 +1375,19 @@ export interface DenyAssignmentsListOptionalParams extends coreClient.OperationO // @public export type DenyAssignmentsListResponse = DenyAssignmentListResult; +// @public +export interface DuplicateRoleCreatedAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "DuplicateRoleCreatedAlertConfiguration"; +} + +// @public +export interface DuplicateRoleCreatedAlertIncidentProperties extends AlertIncidentProperties { + alertIncidentType: "DuplicateRoleCreatedAlertIncident"; + readonly duplicateRoles?: string; + readonly reason?: string; + readonly roleName?: string; +} + // @public export interface EligibleChildResource { readonly id?: string; @@ -295,6 +1430,17 @@ export interface ErrorAdditionalInfo { readonly type?: string; } +// @public +export interface ErrorDefinition { + error?: ErrorDefinitionProperties; +} + +// @public +export interface ErrorDefinitionProperties { + code?: string; + readonly message?: string; +} + // @public export interface ErrorDetail { readonly additionalInfo?: ErrorAdditionalInfo[]; @@ -325,29 +1471,158 @@ export interface ExpandedPropertiesPrincipal { } // @public -export interface ExpandedPropertiesRoleDefinition { - displayName?: string; - id?: string; - type?: string; +export interface ExpandedPropertiesRoleDefinition { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export interface ExpandedPropertiesScope { + displayName?: string; + id?: string; + type?: string; +} + +// @public +export function getContinuationToken(page: unknown): string | undefined; + +// @public +export interface GlobalAdministrator { + elevateAccess(options?: GlobalAdministratorElevateAccessOptionalParams): Promise; +} + +// @public +export interface GlobalAdministratorElevateAccessOptionalParams extends coreClient.OperationOptions { +} + +// @public +export enum KnownAccessRecommendationType { + Approve = "Approve", + Deny = "Deny", + NoInfoAvailable = "NoInfoAvailable" +} + +// @public +export enum KnownAccessReviewActorIdentityType { + ServicePrincipal = "servicePrincipal", + User = "user" +} + +// @public +export enum KnownAccessReviewApplyResult { + AppliedSuccessfully = "AppliedSuccessfully", + AppliedSuccessfullyButObjectNotFound = "AppliedSuccessfullyButObjectNotFound", + AppliedWithUnknownFailure = "AppliedWithUnknownFailure", + Applying = "Applying", + ApplyNotSupported = "ApplyNotSupported", + New = "New" +} + +// @public +export enum KnownAccessReviewDecisionInsightType { + UserSignInInsight = "userSignInInsight" +} + +// @public +export enum KnownAccessReviewDecisionPrincipalResourceMembershipType { + Direct = "direct", + Indirect = "indirect" +} + +// @public +export enum KnownAccessReviewHistoryDefinitionStatus { + Done = "Done", + Error = "Error", + InProgress = "InProgress", + Requested = "Requested" +} + +// @public +export enum KnownAccessReviewInstanceReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" +} + +// @public +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 enum KnownAccessReviewRecurrencePatternType { + AbsoluteMonthly = "absoluteMonthly", + Weekly = "weekly" +} + +// @public +export enum KnownAccessReviewRecurrenceRangeType { + EndDate = "endDate", + NoEnd = "noEnd", + Numbered = "numbered" +} + +// @public +export enum KnownAccessReviewResult { + Approve = "Approve", + Deny = "Deny", + DontKnow = "DontKnow", + NotNotified = "NotNotified", + NotReviewed = "NotReviewed" +} + +// @public +export enum KnownAccessReviewReviewerType { + ServicePrincipal = "servicePrincipal", + User = "user" } // @public -export interface ExpandedPropertiesScope { - displayName?: string; - id?: string; - type?: string; +export enum KnownAccessReviewScheduleDefinitionReviewersType { + Assigned = "Assigned", + Managers = "Managers", + Self = "Self" } // @public -export function getContinuationToken(page: unknown): string | undefined; +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 GlobalAdministrator { - elevateAccess(options?: GlobalAdministratorElevateAccessOptionalParams): Promise; +export enum KnownAccessReviewScopeAssignmentState { + Active = "active", + Eligible = "eligible" } // @public -export interface GlobalAdministratorElevateAccessOptionalParams extends coreClient.OperationOptions { +export enum KnownAccessReviewScopePrincipalType { + GuestUser = "guestUser", + RedeemedGuestUser = "redeemedGuestUser", + ServicePrincipal = "servicePrincipal", + User = "user", + UserGroup = "user,group" } // @public @@ -364,6 +1639,24 @@ export enum KnownAssignmentType { Assigned = "Assigned" } +// @public +export enum KnownDecisionResourceType { + AzureRole = "azureRole" +} + +// @public +export enum KnownDecisionTargetType { + ServicePrincipal = "servicePrincipal", + User = "user" +} + +// @public +export enum KnownDefaultDecisionType { + Approve = "Approve", + Deny = "Deny", + Recommendation = "Recommendation" +} + // @public export enum KnownEnablementRules { Justification = "Justification", @@ -406,6 +1699,12 @@ export enum KnownRecipientType { Requestor = "Requestor" } +// @public +export enum KnownRecordAllDecisionsResult { + Approve = "Approve", + Deny = "Deny" +} + // @public export enum KnownRequestType { AdminAssign = "AdminAssign", @@ -428,6 +1727,13 @@ export enum KnownRoleManagementPolicyRuleType { RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" } +// @public +export enum KnownSeverityLevel { + High = "High", + Low = "Low", + Medium = "Medium" +} + // @public export enum KnownStatus { Accepted = "Accepted", @@ -476,9 +1782,52 @@ export type NotificationDeliveryMechanism = string; // @public export type NotificationLevel = string; +// @public +export interface Operation { + display?: OperationDisplay; + isDataAction?: boolean; + name?: string; + origin?: string; +} + +// @public +export interface OperationDisplay { + readonly description?: string; + readonly operation?: string; + readonly provider?: string; + readonly resource?: string; +} + +// @public +export interface OperationListResult { + nextLink?: string; + value?: Operation[]; +} + +// @public +export interface Operations { + list(options?: OperationsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface OperationsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListNextResponse = OperationListResult; + +// @public +export interface OperationsListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type OperationsListResponse = OperationListResult; + // @public export interface Permission { actions?: string[]; + readonly condition?: string; + readonly conditionVersion?: string; dataActions?: string[]; notActions?: string[]; notDataActions?: string[]; @@ -525,7 +1874,7 @@ export interface PermissionsListForResourceOptionalParams extends coreClient.Ope // @public export type PermissionsListForResourceResponse = PermissionGetResult; -// @public +// @public (undocumented) export interface PolicyAssignmentProperties { policy?: PolicyAssignmentPropertiesPolicy; roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; @@ -553,7 +1902,7 @@ export interface PolicyAssignmentPropertiesScope { type?: string; } -// @public +// @public (undocumented) export interface PolicyProperties { readonly scope?: PolicyPropertiesScope; } @@ -634,6 +1983,17 @@ export interface ProviderOperationsMetadataOperations { // @public export type RecipientType = string; +// @public +export interface RecordAllDecisionsProperties { + decision?: RecordAllDecisionsResult; + justification?: string; + readonly principalId?: string; + readonly resourceId?: string; +} + +// @public +export type RecordAllDecisionsResult = string; + // @public export type RequestType = string; @@ -1426,7 +2786,6 @@ export interface RoleManagementPolicyApprovalRule extends RoleManagementPolicyRu // @public export interface RoleManagementPolicyAssignment { - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; readonly id?: string; readonly name?: string; readonly policyAssignmentProperties?: PolicyAssignmentProperties; @@ -1541,9 +2900,305 @@ export type RoleManagementPolicyRuleType = string; // @public (undocumented) export type RoleManagementPolicyRuleUnion = RoleManagementPolicyRule | RoleManagementPolicyApprovalRule | RoleManagementPolicyAuthenticationContextRule | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; +// @public +export interface ScopeAccessReviewDefaultSettings { + get(scope: string, options?: ScopeAccessReviewDefaultSettingsGetOptionalParams): Promise; + put(scope: string, properties: AccessReviewScheduleSettings, options?: ScopeAccessReviewDefaultSettingsPutOptionalParams): Promise; +} + +// @public +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; + +// @public +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions { +} + +// @public +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 ScopeAccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + +// @public +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstance { + generateDownloadUri(scope: string, historyDefinitionId: string, instanceId: string, options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams): Promise; +} + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstances { + list(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; + +// @public +export interface ScopeAccessReviewHistoryDefinitions { + getById(scope: string, historyDefinitionId: string, options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams): Promise; + list(scope: string, options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + +// @public +export interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; + +// @public +export interface ScopeAccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +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 ScopeAccessReviewInstanceApplyDecisionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScopeAccessReviewInstanceContactedReviewers { + list(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface ScopeAccessReviewInstanceDecisions { + list(scope: string, scheduleDefinitionId: string, id: string, options?: ScopeAccessReviewInstanceDecisionsListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; + +// @public +export interface ScopeAccessReviewInstanceDecisionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ScopeAccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; + +// @public +export interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScopeAccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions { +} + +// @public +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 ScopeAccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstancesCreateResponse = AccessReviewInstance; + +// @public +export interface ScopeAccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScopeAccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstancesGetByIdResponse = AccessReviewInstance; + +// @public +export interface ScopeAccessReviewInstancesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; + +// @public +export interface ScopeAccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ScopeAccessReviewInstancesListResponse = AccessReviewInstanceListResult; + +// @public +export interface ScopeAccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions { +} + +// @public +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 ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; + +// @public +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SeverityLevel = string; + // @public export type Status = string; +// @public +export interface TenantLevelAccessReviewInstanceContactedReviewers { + list(scheduleDefinitionId: string, id: string, options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +// @public +export interface TooManyOwnersAssignedToResourceAlertConfigurationProperties extends AlertConfigurationProperties { + alertConfigurationType: "TooManyOwnersAssignedToResourceAlertConfiguration"; + thresholdNumberOfOwners?: number; + thresholdPercentageOfOwnersOutOfAllRoleMembers?: number; +} + +// @public +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; +} + // @public export type Type = string; diff --git a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts index c83a9cb76b1b..d04558136ebe 100644 --- a/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts +++ b/sdk/authorization/arm-authorization/src/authorizationManagementClient.ts @@ -17,6 +17,31 @@ import { RoleAssignmentsImpl, PermissionsImpl, RoleDefinitionsImpl, + 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, EligibleChildResourcesImpl, RoleAssignmentSchedulesImpl, RoleAssignmentScheduleInstancesImpl, @@ -25,7 +50,12 @@ import { RoleEligibilityScheduleInstancesImpl, RoleEligibilityScheduleRequestsImpl, RoleManagementPoliciesImpl, - RoleManagementPolicyAssignmentsImpl + RoleManagementPolicyAssignmentsImpl, + AlertsImpl, + AlertConfigurationsImpl, + AlertDefinitionsImpl, + AlertIncidentsImpl, + AlertOperationImpl } from "./operations"; import { ClassicAdministrators, @@ -35,6 +65,31 @@ import { RoleAssignments, Permissions, RoleDefinitions, + 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, EligibleChildResources, RoleAssignmentSchedules, RoleAssignmentScheduleInstances, @@ -43,13 +98,18 @@ import { RoleEligibilityScheduleInstances, RoleEligibilityScheduleRequests, RoleManagementPolicies, - RoleManagementPolicyAssignments + RoleManagementPolicyAssignments, + Alerts, + AlertConfigurations, + AlertDefinitions, + AlertIncidents, + AlertOperation } from "./operationsInterfaces"; import { AuthorizationManagementClientOptionalParams } from "./models"; export class AuthorizationManagementClient extends coreClient.ServiceClient { $host: string; - subscriptionId: string; + subscriptionId?: string; /** * Initializes a new instance of the AuthorizationManagementClient class. @@ -61,12 +121,28 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + options?: AuthorizationManagementClientOptionalParams + ); + constructor( + credentials: coreAuth.TokenCredential, + subscriptionIdOrOptions?: + | AuthorizationManagementClientOptionalParams + | string, + options?: AuthorizationManagementClientOptionalParams ) { if (credentials === undefined) { throw new Error("'credentials' cannot be null"); } - if (subscriptionId === undefined) { - throw new Error("'subscriptionId' cannot be null"); + + let subscriptionId: string | undefined; + + if (typeof subscriptionIdOrOptions === "string") { + subscriptionId = subscriptionIdOrOptions; + } else if (typeof subscriptionIdOrOptions === "object") { + options = subscriptionIdOrOptions; } // Initializing default values for options @@ -78,7 +154,7 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-authorization/9.0.1`; + const packageDetails = `azsdk-js-arm-authorization/10.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -140,6 +216,73 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { this.roleAssignments = new RoleAssignmentsImpl(this); this.permissions = new PermissionsImpl(this); this.roleDefinitions = new RoleDefinitionsImpl(this); + 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.accessReviewScheduleDefinitionsAssignedForMyApproval = new AccessReviewScheduleDefinitionsAssignedForMyApprovalImpl( + this + ); + this.accessReviewInstancesAssignedForMyApproval = new AccessReviewInstancesAssignedForMyApprovalImpl( + this + ); + this.accessReviewInstanceMyDecisions = new AccessReviewInstanceMyDecisionsImpl( + this + ); + this.tenantLevelAccessReviewInstanceContactedReviewers = new TenantLevelAccessReviewInstanceContactedReviewersImpl( + this + ); this.eligibleChildResources = new EligibleChildResourcesImpl(this); this.roleAssignmentSchedules = new RoleAssignmentSchedulesImpl(this); this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesImpl( @@ -159,6 +302,11 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsImpl( this ); + this.alerts = new AlertsImpl(this); + this.alertConfigurations = new AlertConfigurationsImpl(this); + this.alertDefinitions = new AlertDefinitionsImpl(this); + this.alertIncidents = new AlertIncidentsImpl(this); + this.alertOperation = new AlertOperationImpl(this); } classicAdministrators: ClassicAdministrators; @@ -168,6 +316,31 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { roleAssignments: RoleAssignments; permissions: Permissions; roleDefinitions: RoleDefinitions; + 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; eligibleChildResources: EligibleChildResources; roleAssignmentSchedules: RoleAssignmentSchedules; roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; @@ -177,4 +350,9 @@ export class AuthorizationManagementClient extends coreClient.ServiceClient { roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; roleManagementPolicies: RoleManagementPolicies; roleManagementPolicyAssignments: RoleManagementPolicyAssignments; + alerts: Alerts; + alertConfigurations: AlertConfigurations; + alertDefinitions: AlertDefinitions; + alertIncidents: AlertIncidents; + alertOperation: AlertOperation; } diff --git a/sdk/authorization/arm-authorization/src/lroImpl.ts b/sdk/authorization/arm-authorization/src/lroImpl.ts new file mode 100644 index 000000000000..dd803cd5e28c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/lroImpl.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. + +import { AbortSignalLike } from "@azure/abort-controller"; +import { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export function createLroSpec(inputs: { + sendOperationFn: (args: any, spec: any) => Promise>; + args: Record; + spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record; +}): LongRunningOperation { + const { args, spec, sendOperationFn } = inputs; + return { + requestMethod: spec.httpMethod, + requestPath: spec.path!, + sendInitialRequest: () => sendOperationFn(args, spec), + sendPollRequest: ( + path: string, + options?: { abortSignal?: AbortSignalLike } + ) => { + const { requestBody, ...restSpec } = spec; + return sendOperationFn(args, { + ...restSpec, + httpMethod: "GET", + path, + abortSignal: options?.abortSignal + }); + } + }; +} diff --git a/sdk/authorization/arm-authorization/src/models/index.ts b/sdk/authorization/arm-authorization/src/models/index.ts index 2daad339e4a1..3b5d937fbbda 100644 --- a/sdk/authorization/arm-authorization/src/models/index.ts +++ b/sdk/authorization/arm-authorization/src/models/index.ts @@ -8,6 +8,13 @@ import * as coreClient from "@azure/core-client"; +export type AccessReviewDecisionIdentityUnion = + | AccessReviewDecisionIdentity + | AccessReviewDecisionUserIdentity + | AccessReviewDecisionServicePrincipalIdentity; +export type AccessReviewDecisionInsightPropertiesUnion = + | AccessReviewDecisionInsightProperties + | AccessReviewDecisionUserSignInInsightProperties; export type RoleManagementPolicyRuleUnion = | RoleManagementPolicyRule | RoleManagementPolicyApprovalRule @@ -15,6 +22,18 @@ export type RoleManagementPolicyRuleUnion = | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; +export type AlertIncidentPropertiesUnion = + | AlertIncidentProperties + | AzureRolesAssignedOutsidePimAlertIncidentProperties + | DuplicateRoleCreatedAlertIncidentProperties + | TooManyOwnersAssignedToResourceAlertIncidentProperties + | TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties; +export type AlertConfigurationPropertiesUnion = + | AlertConfigurationProperties + | AzureRolesAssignedOutsidePimAlertConfigurationProperties + | DuplicateRoleCreatedAlertConfigurationProperties + | TooManyOwnersAssignedToResourceAlertConfigurationProperties + | TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties; /** ClassicAdministrator list result information. */ export interface ClassicAdministratorListResult { @@ -362,6 +381,16 @@ export interface Permission { dataActions?: string[]; /** Denied Data actions. */ notDataActions?: string[]; + /** + * The conditions on the role definition. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly condition?: string; + /** + * Version of the condition. Currently the only accepted value is '2.0' + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly conditionVersion?: string; } /** Role definition. */ @@ -421,1625 +450,4082 @@ export interface RoleDefinitionListResult { nextLink?: string; } -/** Eligible child resources list operation result. */ -export interface EligibleChildResourcesListResult { - /** Eligible child resource list. */ - value?: EligibleChildResource[]; - /** The URL to use for getting the next set of results. */ +/** 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; } -/** Eligible child resource */ -export interface EligibleChildResource { +/** 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; +} + +/** The display information for a Microsoft.Authorization operation. */ +export interface OperationDisplay { /** - * The resource scope 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 resource 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 resource 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; + 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 */ -export interface RoleAssignmentSchedule { +/** 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; +} + +/** Access Review History Definition. */ +export interface AccessReviewHistoryDefinition { /** - * The role assignment schedule 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 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 type. + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; - /** The role assignment schedule scope. */ - scope?: string; - /** The role definition ID. */ - roleDefinitionId?: string; - /** The principal ID. */ - principalId?: string; - /** The principal type of the assigned principal ID. */ - principalType?: PrincipalType; - /** The id of roleAssignmentScheduleRequest used to create this roleAssignmentSchedule */ - roleAssignmentScheduleRequestId?: string; - /** The id of roleEligibilitySchedule used to activated this roleAssignmentSchedule */ - linkedRoleEligibilityScheduleId?: string; - /** Assignment type of the role assignment schedule */ - assignmentType?: AssignmentType; - /** Membership type of the role assignment schedule */ - memberType?: MemberType; - /** The status of the role assignment schedule. */ - status?: Status; - /** Start DateTime when role assignment schedule */ - 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 */ + /** The display name for the history definition. */ displayName?: string; - /** Email id of the principal */ - email?: string; - /** Type of the principal */ - type?: 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[]; - /** 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 { /** - * The role assignment schedule instance ID. + * 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 instance 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 instance 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; - /** 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; + 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. */ + typePropertiesSettingsRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typePropertiesSettingsPatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; } -/** Role Assignment schedule request */ -export interface RoleAssignmentScheduleRequest { +/** Access Review History Instances. */ +export interface AccessReviewHistoryDefinitionProperties { + /** The display name for the history definition. */ + displayName?: string; /** - * The role assignment schedule request ID. + * 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. */ + 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 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; +} + +/** Descriptor for what needs to be reviewed */ +export interface AccessReviewScope { /** - * Id of the user who created this request + * ResourceId in which this review is getting created * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly requestorId?: string; + readonly resourceId?: string; /** - * Additional properties of principal, scope and role definition + * 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 expandedProperties?: ExpandedProperties; + 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; } -/** 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; -} - -/** 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; -} - -/** 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; + /** 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; } -/** role eligibility schedule list operation result. */ -export interface RoleEligibilityScheduleListResult { - /** role eligibility schedule list. */ - value?: RoleEligibilitySchedule[]; +/** 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; + readonly userPrincipalName?: string; } -/** 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; +/** Access Review. */ +export interface AccessReviewScheduleDefinitionProperties { + /** The display name for the schedule definition. */ + displayName?: string; + /** + * This read-only field specifies the status of an accessReview. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: AccessReviewScheduleDefinitionStatus; + /** The description provided by the access review creator and visible to admins. */ + descriptionForAdmins?: string; + /** The description provided by the access review creator to be shown to reviewers. */ + descriptionForReviewers?: string; + /** This is the collection of reviewers. */ + reviewers?: AccessReviewReviewer[]; + /** This is the collection of backup reviewers. */ + backupReviewers?: AccessReviewReviewer[]; + /** + * This field specifies the type of reviewers for a review. Usually for a review, reviewers are explicitly assigned. However, in some cases, the reviewers may not be assigned and instead be chosen dynamically. For example managers review or self review. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reviewersType?: AccessReviewScheduleDefinitionReviewersType; + /** This is the collection of instances returned when one does an expand on it. */ + instances?: AccessReviewInstance[]; + /** + * ResourceId in which this review is getting created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceId?: string; + /** + * This is used to indicate the role being reviewed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly roleDefinitionId?: string; + /** + * The identity type user/servicePrincipal to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeScopePrincipalType?: AccessReviewScopePrincipalType; + /** + * The role assignment state eligible/active to review + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly assignmentState?: AccessReviewScopeAssignmentState; + /** Duration users are inactive for. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + inactiveDuration?: string; + /** Flag to indicate whether to expand nested memberships or not. */ + expandNestedMemberships?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeInheritedAccess?: boolean; + /** Flag to indicate whether to expand nested memberships or not. */ + includeAccessBelowResource?: boolean; + /** This is used to indicate the resource id(s) to exclude */ + excludeResourceId?: string; + /** This is used to indicate the role definition id(s) to exclude */ + excludeRoleDefinitionId?: string; + /** Flag to indicate whether sending mails to reviewers and the review creator is enabled. */ + mailNotificationsEnabled?: boolean; + /** Flag to indicate whether sending reminder emails to reviewers are enabled. */ + reminderNotificationsEnabled?: boolean; + /** Flag to indicate whether reviewers are required to provide a justification when reviewing access. */ + defaultDecisionEnabled?: boolean; + /** Flag to indicate whether the reviewer is required to pass justification when recording a decision. */ + justificationRequiredOnApproval?: boolean; + /** This specifies the behavior for the autoReview feature when an access review completes. */ + defaultDecision?: DefaultDecisionType; + /** Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review. */ + autoApplyDecisionsEnabled?: boolean; + /** Flag to indicate whether showing recommendations to reviewers is enabled. */ + recommendationsEnabled?: boolean; + /** Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds)) */ + recommendationLookBackDuration?: string; + /** The duration in days for an instance. */ + instanceDurationInDays?: number; + /** The recurrence range type. The possible values are: endDate, noEnd, numbered. */ + typeSettingsRecurrenceRangeType?: AccessReviewRecurrenceRangeType; + /** The number of times to repeat the access review. Required and must be positive if type is numbered. */ + numberOfOccurrences?: number; + /** The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create. */ + startDate?: Date; + /** The DateTime when the review is scheduled to end. Required if type is endDate */ + endDate?: Date; + /** The recurrence type : weekly, monthly, etc. */ + typeSettingsRecurrencePatternType?: AccessReviewRecurrencePatternType; + /** The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly. */ + interval?: number; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeCreatedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalName?: string; } -/** 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; +/** 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; } -/** 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; +/** Descriptor for what needs to be reviewed */ +export interface AccessReviewReviewer { + /** The id of the reviewer(user/servicePrincipal) */ + principalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalType?: AccessReviewReviewerType; } -/** Role management policy */ -export interface RoleManagementPolicy { +/** 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 management policy display name. */ - displayName?: string; - /** The role management policy description. */ - description?: string; - /** The role management policy is default policy. */ - isOrganizationDefault?: boolean; /** - * The name of the entity last modified it + * 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 lastModifiedBy?: Principal; + 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 last modified date time. + * 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 lastModifiedDateTime?: Date; - /** The rule applied to the policy. */ - rules?: RoleManagementPolicyRuleUnion[]; + readonly reviewersType?: AccessReviewInstanceReviewersType; +} + +/** Access Review Instance properties. */ +export interface AccessReviewInstanceProperties { /** - * The readonly computed rule applied to the 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 effectiveRules?: RoleManagementPolicyRuleUnion[]; + 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[]; /** - * Additional properties of scope + * 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 policyProperties?: PolicyProperties; + readonly reviewersType?: AccessReviewInstanceReviewersType; } -/** The role management policy rule. */ -export interface RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: - | "RoleManagementPolicyApprovalRule" - | "RoleManagementPolicyAuthenticationContextRule" - | "RoleManagementPolicyEnablementRule" - | "RoleManagementPolicyExpirationRule" - | "RoleManagementPolicyNotificationRule"; - /** The id of the rule. */ - id?: string; - /** The target of the current rule. */ - target?: RoleManagementPolicyRuleTarget; -} - -/** The role management policy rule target. */ -export interface RoleManagementPolicyRuleTarget { - /** The caller of the setting. */ - caller?: string; - /** The type of operation. */ - operations?: string[]; - /** The assignment level to which rule is applied. */ - level?: string; - /** The list of target objects. */ - targetObjects?: string[]; - /** The list of inheritable settings. */ - inheritableSettings?: string[]; - /** The list of enforced settings. */ - enforcedSettings?: string[]; -} - -/** Expanded info of resource scope */ -export interface PolicyProperties { - /** - * Details of the resource scope - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly scope?: PolicyPropertiesScope; -} - -/** Details of the resource scope */ -export interface PolicyPropertiesScope { - /** Scope id of the resource */ - id?: string; - /** Display name of the resource */ - displayName?: string; - /** Type of the resource */ - type?: string; +/** List of Access Review Instances. */ +export interface AccessReviewInstanceListResult { + /** Access Review Instance list. */ + value?: AccessReviewInstance[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** Role management policy list operation result. */ -export interface RoleManagementPolicyListResult { - /** Role management policy list. */ - value?: RoleManagementPolicy[]; +/** 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; } -/** Role management policy */ -export interface RoleManagementPolicyAssignment { +/** Access Review. */ +export interface AccessReviewDecision { /** - * The role management policy Id. + * The access review decision id. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** - * The role management policy name. + * The access review decision name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** - * The role 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; /** - * The readonly computed rule applied to the policy. + * The feature- generated recommendation shown to the reviewer. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; + 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; /** - * Additional properties of scope, role definition and policy + * Date Time when a decision was taken. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly policyAssignmentProperties?: PolicyAssignmentProperties; + readonly reviewedDateTime?: Date; + /** + * The outcome of applying the decision. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applyResult?: AccessReviewApplyResult; + /** + * The date and time when the review decision was applied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly appliedDateTime?: Date; + /** This is the collection of insights for this decision item. */ + insights?: AccessReviewDecisionInsight[]; + /** Every decision item in an access review represents a principal's membership to a resource. This property represents details of the membership. Examples of this detail might be whether the principal has direct access or indirect access */ + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdPropertiesAppliedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypePropertiesAppliedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNamePropertiesAppliedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNamePropertiesAppliedByUserPrincipalName?: string; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdPropertiesReviewedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypePropertiesReviewedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNamePropertiesReviewedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNamePropertiesReviewedByUserPrincipalName?: string; + /** The type of resource */ + typePropertiesResourceType?: DecisionResourceType; + /** + * The id of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesResourceId?: string; + /** + * The display name of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNamePropertiesResourceDisplayName?: string; + /** The type of decision target : User/ServicePrincipal */ + typePropertiesPrincipalType?: DecisionTargetType; + /** + * The id of principal whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idPropertiesPrincipalId?: string; + /** + * The display name of the user whose access was reviewed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNamePropertiesPrincipalDisplayName?: string; } -/** Expanded info of resource scope, role definition and policy */ -export interface PolicyAssignmentProperties { - /** Details of the resource scope */ - scope?: PolicyAssignmentPropertiesScope; - /** Details of role definition */ - roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; - /** Details of the policy */ - policy?: PolicyAssignmentPropertiesPolicy; +/** Approval Step. */ +export interface AccessReviewDecisionProperties { + /** + * The feature- generated recommendation shown to the reviewer. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly recommendation?: AccessRecommendationType; + /** The decision on the approval step. This value is initially set to NotReviewed. Approvers can take action of Approve/Deny */ + decision?: AccessReviewResult; + /** Justification provided by approvers for their action */ + justification?: string; + /** + * Date Time when a decision was taken. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reviewedDateTime?: Date; + /** + * The outcome of applying the decision. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applyResult?: AccessReviewApplyResult; + /** + * The date and time when the review decision was applied. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly appliedDateTime?: Date; + /** This is the collection of insights for this decision item. */ + insights?: AccessReviewDecisionInsight[]; + /** Every decision item in an access review represents a principal's membership to a resource. This property represents details of the membership. Examples of this detail might be whether the principal has direct access or indirect access */ + membershipTypes?: AccessReviewDecisionPrincipalResourceMembershipType[]; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdAppliedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeAppliedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNameAppliedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNameAppliedByUserPrincipalName?: string; + /** + * The identity id + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalIdReviewedByPrincipalId?: string; + /** + * The identity type : user/servicePrincipal + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalTypeReviewedByPrincipalType?: AccessReviewActorIdentityType; + /** + * The identity display name + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalNameReviewedByPrincipalName?: string; + /** + * The user principal name(if valid) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly userPrincipalNameReviewedByUserPrincipalName?: string; + /** The type of resource */ + typeResourceType?: DecisionResourceType; + /** + * The id of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly idResourceId?: string; + /** + * The display name of resource associated with a decision record. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly displayNameResourceDisplayName?: string; + /** The type of decision target : User/ServicePrincipal */ + typePrincipalType?: DecisionTargetType; + /** + * 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; } -/** 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; +/** 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; } -/** 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; +/** 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; } -/** Details of the policy */ -export interface PolicyAssignmentPropertiesPolicy { - /** Id of the policy */ - id?: string; +/** Details of the Insight. */ +export interface AccessReviewDecisionInsightProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + type: "userSignInInsight"; /** - * The name of the entity last modified it + * Date Time when the insight was created. * 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 insightCreatedDateTime?: any; } -/** Role management policy assignment list operation result. */ -export interface RoleManagementPolicyAssignmentListResult { - /** Role management policy assignment list. */ - value?: RoleManagementPolicyAssignment[]; +/** 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; } -/** Deny Assignments filter */ -export interface DenyAssignmentFilter { - /** Return deny assignment with specified name. */ - denyAssignmentName?: string; - /** Return all deny assignments where the specified principal is listed in the principals list of deny assignments. */ - principalId?: string; - /** Return all deny assignments where the specified principal is listed either in the principals list or exclude principals list of deny assignments. */ - gdprExportPrincipalId?: string; -} - -/** Failed validation result details */ -export interface ValidationResponseErrorInfo { +/** Access Review Contacted Reviewer. */ +export interface AccessReviewContactedReviewer { /** - * Error code indicating why validation failed + * The access review reviewer id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly code?: string; + readonly id?: string; /** - * Message indicating why validation failed + * The access review reviewer id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly message?: string; -} - -/** Validation response */ -export interface ValidationResponse { + readonly name?: string; /** - * Whether or not validation succeeded + * The resource type. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly isValid?: boolean; - /** Failed validation result details */ - errorInfo?: ValidationResponseErrorInfo; -} - -/** Role Assignments filter */ -export interface RoleAssignmentFilter { - /** Returns role assignment of the specific principal. */ - principalId?: string; + 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 Definitions filter */ -export interface RoleDefinitionFilter { - /** Returns role definition with the specific name. */ - roleName?: string; - /** Returns role definition with the specific type. */ - type?: 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; } -/** The approval settings. */ -export interface ApprovalSettings { - /** Determines whether approval is required or not. */ - isApprovalRequired?: boolean; - /** Determines whether approval is required for assignment extension. */ - isApprovalRequiredForExtension?: boolean; - /** Determine whether requestor justification is required. */ - isRequestorJustificationRequired?: boolean; - /** The type of rule */ - approvalMode?: ApprovalMode; - /** The approval stages of the request. */ - approvalStages?: ApprovalStage[]; +/** 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 approval stage. */ -export interface ApprovalStage { - /** The time in days when approval request would be timed out */ - approvalStageTimeOutInDays?: number; - /** Determines whether approver need to provide justification for his decision. */ - isApproverJustificationRequired?: boolean; - /** The time in minutes when the approval request would be escalated if the primary approver does not approve */ - escalationTimeInMinutes?: number; - /** The primary approver of the request. */ - primaryApprovers?: UserSet[]; - /** The value determine whether escalation feature is enabled. */ - isEscalationEnabled?: boolean; - /** The escalation approver of the request. */ - escalationApprovers?: UserSet[]; +/** Eligible child resources list operation result. */ +export interface EligibleChildResourcesListResult { + /** Eligible child resource list. */ + value?: EligibleChildResource[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; } -/** 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; +/** Eligible child resource */ +export interface EligibleChildResource { + /** + * The resource scope Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The resource 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; } -/** 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; +/** An error response from the service. */ +export interface CloudError { + /** An error response from the service. */ + error?: CloudErrorBody; } -/** 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; +/** An error response from the service. */ +export interface CloudErrorBody { + /** An identifier for the error. Codes are invariant and are intended to be consumed programmatically. */ + code?: string; + /** A message describing the error, intended to be suitable for display in a user interface. */ + message?: string; } -/** Role 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. */ +/** Role Assignment schedule */ +export interface RoleAssignmentSchedule { + /** + * The role assignment schedule Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The role assignment schedule name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role assignment schedule 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; - /** Returns role assignment requests created by specific principal. */ - requestorId?: string; - /** Returns role assignment requests of specific status. */ - status?: 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; } -/** 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; +export interface ExpandedProperties { + /** Details of the resource scope */ + scope?: ExpandedPropertiesScope; + /** Details of role definition */ + roleDefinition?: ExpandedPropertiesRoleDefinition; + /** Details of the principal */ + principal?: ExpandedPropertiesPrincipal; } -/** 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; +/** 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; } -/** 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; +/** 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; } -/** The role management policy approval rule. */ -export interface RoleManagementPolicyApprovalRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyApprovalRule"; - /** The approval setting */ - setting?: ApprovalSettings; +/** 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; } -/** The role management policy authentication context rule. */ -export interface RoleManagementPolicyAuthenticationContextRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyAuthenticationContextRule"; - /** The value indicating if rule is enabled. */ - isEnabled?: boolean; - /** The claim value. */ - claimValue?: string; +/** 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; } -/** The role management policy enablement rule. */ -export interface RoleManagementPolicyEnablementRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ +/** Role assignment schedule instance list operation result. */ +export interface RoleAssignmentScheduleInstanceListResult { + /** Role assignment schedule instance list. */ + value?: RoleAssignmentScheduleInstance[]; + /** 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 { + /** + * The role assignment schedule instance 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role assignment schedule instance 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The role assignment schedule request name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role assignment schedule request type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The role assignment schedule request scope. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** + * The principal type of the assigned principal 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; + /** + * The status of the role assignment schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: Status; + /** + * The approvalId of the role assignment schedule request. + * 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; + /** + * DateTime when role assignment schedule request was created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdOn?: Date; + /** + * Id of the user who created this request + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requestorId?: string; + /** + * Additional properties of principal, scope and role definition + * 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; +} + +/** 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; +} + +/** Role eligibility schedule */ +export interface RoleEligibilitySchedule { + /** + * The role eligibility schedule Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The role eligibility schedule name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role eligibility schedule type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** The role eligibility schedule scope. */ + scope?: string; + /** The role definition ID. */ + roleDefinitionId?: string; + /** The principal ID. */ + principalId?: string; + /** The principal type of the assigned principal ID. */ + principalType?: PrincipalType; + /** The id of roleEligibilityScheduleRequest used to create this roleAssignmentSchedule */ + roleEligibilityScheduleRequestId?: string; + /** Membership type of the role eligibility schedule */ + memberType?: MemberType; + /** The status of the role eligibility schedule. */ + status?: Status; + /** Start DateTime when role eligibility schedule */ + startDateTime?: Date; + /** End DateTime when role eligibility schedule */ + endDateTime?: Date; + /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ + condition?: string; + /** Version of the condition. Currently accepted value is '2.0' */ + conditionVersion?: string; + /** DateTime when role eligibility schedule was created */ + createdOn?: Date; + /** DateTime when role eligibility schedule was modified */ + updatedOn?: Date; + /** Additional properties of principal, scope and role definition */ + expandedProperties?: ExpandedProperties; +} + +/** role eligibility schedule list operation result. */ +export interface RoleEligibilityScheduleListResult { + /** role eligibility schedule list. */ + value?: RoleEligibilitySchedule[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Role eligibility schedule instance list operation result. */ +export interface RoleEligibilityScheduleInstanceListResult { + /** Role eligibility schedule instance list. */ + value?: RoleEligibilityScheduleInstance[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** Information about current or upcoming role eligibility schedule instance */ +export interface RoleEligibilityScheduleInstance { + /** + * The role eligibility schedule instance 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. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role eligibility schedule instance 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 role eligibility schedule request ID. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The role eligibility schedule request name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role eligibility schedule request type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The role eligibility schedule request scope. + * 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. + * 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; + /** + * The status of the role eligibility schedule request. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly status?: Status; + /** + * The approvalId of the role eligibility schedule request. + * 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; + /** + * DateTime when role eligibility schedule request was created + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdOn?: Date; + /** + * Id of the user who created this request + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requestorId?: string; + /** + * Additional properties of principal, scope and role definition + * 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; +} + +/** 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; + /** + * The role management policy name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role management policy type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** The role management policy scope. */ + scope?: string; + /** The role management policy display name. */ + displayName?: string; + /** The role management policy description. */ + description?: string; + /** The role management policy is default policy. */ + isOrganizationDefault?: boolean; + /** + * The name of the entity last modified it + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastModifiedBy?: Principal; + /** + * The last modified date time. + * 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[]; + /** + * The readonly computed rule applied to the policy. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly effectiveRules?: RoleManagementPolicyRuleUnion[]; + /** + * Additional properties of scope + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly policyProperties?: PolicyProperties; +} + +/** The role management policy rule. */ +export interface RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: + | "RoleManagementPolicyApprovalRule" + | "RoleManagementPolicyAuthenticationContextRule" + | "RoleManagementPolicyEnablementRule" + | "RoleManagementPolicyExpirationRule" + | "RoleManagementPolicyNotificationRule"; + /** The id of the rule. */ + id?: string; + /** The target of the current rule. */ + target?: RoleManagementPolicyRuleTarget; +} + +/** The role management policy rule target. */ +export interface RoleManagementPolicyRuleTarget { + /** The caller of the setting. */ + caller?: string; + /** The type of operation. */ + operations?: string[]; + /** The assignment level to which rule is applied. */ + level?: string; + /** The list of target objects. */ + targetObjects?: string[]; + /** The list of inheritable settings. */ + inheritableSettings?: string[]; + /** The list of enforced settings. */ + enforcedSettings?: string[]; +} + +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; +} + +/** Role management policy */ +export interface RoleManagementPolicyAssignment { + /** + * The role management policy Id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The role management policy name. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The role management policy 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 + * 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; +} + +/** Details of the policy */ +export interface PolicyAssignmentPropertiesPolicy { + /** Id of the policy */ + id?: string; + /** + * The name of the entity last modified it + * 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; +} + +/** Role management policy assignment list operation result. */ +export interface RoleManagementPolicyAssignmentListResult { + /** Role management policy assignment list. */ + value?: RoleManagementPolicyAssignment[]; + /** The URL to use for getting the next set of results. */ + nextLink?: string; +} + +/** 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; +} + +/** Alert incident properties */ +export interface AlertIncidentProperties { + /** Polymorphic discriminator, which specifies the different types this object can be */ + 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; +} + +/** 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; + /** + * The status detail of the alert operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly statusDetail?: string; + /** + * The created date of the alert operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly createdDateTime?: Date; + /** + * The last action date of the alert operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastActionDateTime?: Date; + /** + * The location of the alert associated with the operation. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly resourceLocation?: 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; +} + +/** Deny Assignments filter */ +export interface DenyAssignmentFilter { + /** Return deny assignment with specified name. */ + denyAssignmentName?: string; + /** Return all deny assignments where the specified principal is listed in the principals list of deny assignments. */ + principalId?: string; + /** Return all deny assignments where the specified principal is listed either in the principals list or exclude principals list of deny assignments. */ + gdprExportPrincipalId?: string; +} + +/** Failed validation result details */ +export interface ValidationResponseErrorInfo { + /** + * Error code indicating why validation failed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * Message indicating why validation failed + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; +} + +/** Validation response */ +export interface ValidationResponse { + /** + * Whether or not validation succeeded + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly isValid?: boolean; + /** Failed validation result details */ + errorInfo?: ValidationResponseErrorInfo; +} + +/** Role Assignments filter */ +export interface RoleAssignmentFilter { + /** Returns role assignment of the specific principal. */ + principalId?: string; +} + +/** Role Definitions filter */ +export interface RoleDefinitionFilter { + /** Returns role definition with the specific name. */ + roleName?: string; + /** Returns role definition with the specific type. */ + type?: string; +} + +/** The approval settings. */ +export interface ApprovalSettings { + /** Determines whether approval is required or not. */ + isApprovalRequired?: boolean; + /** Determines whether approval is required for assignment extension. */ + isApprovalRequiredForExtension?: boolean; + /** Determine whether requestor justification is required. */ + isRequestorJustificationRequired?: boolean; + /** The type of rule */ + approvalMode?: ApprovalMode; + /** The approval stages of the request. */ + approvalStages?: ApprovalStage[]; +} + +/** The approval stage. */ +export interface ApprovalStage { + /** The time in days when approval request would be timed out */ + approvalStageTimeOutInDays?: number; + /** Determines whether approver need to provide justification for his decision. */ + isApproverJustificationRequired?: boolean; + /** The time in minutes when the approval request would be escalated if the primary approver does not approve */ + escalationTimeInMinutes?: number; + /** The primary approver of the request. */ + primaryApprovers?: UserSet[]; + /** The value determine whether escalation feature is enabled. */ + isEscalationEnabled?: boolean; + /** The escalation approver of the request. */ + escalationApprovers?: UserSet[]; +} + +/** The detail of a user. */ +export interface UserSet { + /** The type of user. */ + userType?: UserType; + /** The value indicating whether the user is a backup fallback approver */ + isBackup?: boolean; + /** The object id of the user. */ + id?: string; + /** The description of the user. */ + description?: string; +} + +/** Role assignment schedule filter */ +export interface RoleAssignmentScheduleFilter { + /** Returns role assignment schedule of the specific principal. */ + principalId?: string; + /** Returns role assignment schedule of the specific role definition. */ + roleDefinitionId?: string; + /** Returns role assignment schedule instances of the specific status. */ + status?: string; +} + +/** 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; +} + +/** 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; +} + +/** 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; +} + +/** 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; +} + +/** 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; +} + +/** 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; +} + +/** The role management policy approval rule. */ +export interface RoleManagementPolicyApprovalRule + extends RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyApprovalRule"; + /** The approval setting */ + setting?: ApprovalSettings; +} + +/** The role management policy authentication context rule. */ +export interface RoleManagementPolicyAuthenticationContextRule + extends RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyAuthenticationContextRule"; + /** The value indicating if rule is enabled. */ + isEnabled?: boolean; + /** The claim value. */ + claimValue?: string; +} + +/** The role management policy enablement rule. */ +export interface RoleManagementPolicyEnablementRule + extends RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "RoleManagementPolicyEnablementRule"; /** The list of enabled rules. */ enabledRules?: EnablementRules[]; } -/** The role management policy expiration rule. */ -export interface RoleManagementPolicyExpirationRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyExpirationRule"; - /** The value indicating whether expiration is required. */ - isExpirationRequired?: boolean; - /** The maximum duration of expiration in timespan. */ - maximumDuration?: string; +/** The role management policy expiration rule. */ +export interface RoleManagementPolicyExpirationRule + extends RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyExpirationRule"; + /** The value indicating whether expiration is required. */ + isExpirationRequired?: boolean; + /** The maximum duration of expiration in timespan. */ + maximumDuration?: string; +} + +/** The role management policy notification rule. */ +export interface RoleManagementPolicyNotificationRule + extends RoleManagementPolicyRule { + /** Polymorphic discriminator, which specifies the different types this object can be */ + ruleType: "RoleManagementPolicyNotificationRule"; + /** The type of notification. */ + notificationType?: NotificationDeliveryMechanism; + /** The notification level. */ + notificationLevel?: NotificationLevel; + /** The recipient type. */ + recipientType?: RecipientType; + /** The list of notification recipients. */ + notificationRecipients?: string[]; + /** Determines if the notification will be sent to the recipient type specified in the policy rule. */ + isDefaultRecipientsEnabled?: boolean; +} + +/** 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 PrincipalType} that the service accepts. */ +export enum KnownPrincipalType { + /** User */ + User = "User", + /** Group */ + Group = "Group", + /** ServicePrincipal */ + ServicePrincipal = "ServicePrincipal", + /** ForeignGroup */ + ForeignGroup = "ForeignGroup", + /** Device */ + Device = "Device" +} + +/** + * Defines values for PrincipalType. \ + * {@link KnownPrincipalType} can be used interchangeably with PrincipalType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Group** \ + * **ServicePrincipal** \ + * **ForeignGroup** \ + * **Device** + */ +export type PrincipalType = 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" +} + +/** + * 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" +} + +/** + * 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; + +/** Known values of {@link DefaultDecisionType} that the service accepts. */ +export enum KnownDefaultDecisionType { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny", + /** Recommendation */ + Recommendation = "Recommendation" +} + +/** + * 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 + * **Approve** \ + * **Deny** \ + * **Recommendation** + */ +export type DefaultDecisionType = string; + +/** Known values of {@link AccessReviewReviewerType} that the service accepts. */ +export enum KnownAccessReviewReviewerType { + /** User */ + User = "user", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal" +} + +/** + * 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 + * **user** \ + * **servicePrincipal** + */ +export type AccessReviewReviewerType = string; + +/** Known values of {@link AccessReviewScheduleDefinitionReviewersType} that the service accepts. */ +export enum KnownAccessReviewScheduleDefinitionReviewersType { + /** Assigned */ + Assigned = "Assigned", + /** Self */ + Self = "Self", + /** Managers */ + Managers = "Managers" +} + +/** + * 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 + * **Assigned** \ + * **Self** \ + * **Managers** + */ +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 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 + * **NotStarted** \ + * **InProgress** \ + * **Completed** \ + * **Applied** \ + * **Initializing** \ + * **Applying** \ + * **Completing** \ + * **Scheduled** \ + * **AutoReviewing** \ + * **AutoReviewed** \ + * **Starting** + */ +export type AccessReviewInstanceStatus = string; + +/** Known values of {@link AccessReviewInstanceReviewersType} that the service accepts. */ +export enum KnownAccessReviewInstanceReviewersType { + /** Assigned */ + Assigned = "Assigned", + /** Self */ + Self = "Self", + /** Managers */ + Managers = "Managers" +} + +/** + * Defines values for 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 + * **Assigned** \ + * **Self** \ + * **Managers** + */ +export type AccessReviewInstanceReviewersType = string; + +/** Known values of {@link DecisionTargetType} that the service accepts. */ +export enum KnownDecisionTargetType { + /** User */ + User = "user", + /** ServicePrincipal */ + ServicePrincipal = "servicePrincipal" +} + +/** + * 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 + * **user** \ + * **servicePrincipal** + */ +export type DecisionTargetType = string; + +/** Known values of {@link DecisionResourceType} that the service accepts. */ +export enum KnownDecisionResourceType { + /** AzureRole */ + AzureRole = "azureRole" +} + +/** + * 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 + * **azureRole** + */ +export type DecisionResourceType = string; + +/** Known values of {@link AccessRecommendationType} that the service accepts. */ +export enum KnownAccessRecommendationType { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny", + /** NoInfoAvailable */ + NoInfoAvailable = "NoInfoAvailable" +} + +/** + * 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 + * **Approve** \ + * **Deny** \ + * **NoInfoAvailable** + */ +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 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 + * **New** \ + * **Applying** \ + * **AppliedSuccessfully** \ + * **AppliedWithUnknownFailure** \ + * **AppliedSuccessfullyButObjectNotFound** \ + * **ApplyNotSupported** + */ +export type AccessReviewApplyResult = string; + +/** Known values of {@link AccessReviewDecisionInsightType} that the service accepts. */ +export enum KnownAccessReviewDecisionInsightType { + /** UserSignInInsight */ + UserSignInInsight = "userSignInInsight" +} + +/** + * 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 + * **userSignInInsight** + */ +export type AccessReviewDecisionInsightType = string; + +/** Known values of {@link AccessReviewDecisionPrincipalResourceMembershipType} that the service accepts. */ +export enum KnownAccessReviewDecisionPrincipalResourceMembershipType { + /** Direct */ + Direct = "direct", + /** Indirect */ + Indirect = "indirect" +} + +/** + * 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 + * **direct** \ + * **indirect** + */ +export type AccessReviewDecisionPrincipalResourceMembershipType = string; + +/** Known values of {@link RecordAllDecisionsResult} that the service accepts. */ +export enum KnownRecordAllDecisionsResult { + /** Approve */ + Approve = "Approve", + /** Deny */ + Deny = "Deny" +} + +/** + * 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 + * **Approve** \ + * **Deny** + */ +export type RecordAllDecisionsResult = string; + +/** Known values of {@link AssignmentType} that the service accepts. */ +export enum KnownAssignmentType { + /** Activated */ + Activated = "Activated", + /** Assigned */ + Assigned = "Assigned" +} + +/** + * Defines values for AssignmentType. \ + * {@link KnownAssignmentType} can be used interchangeably with AssignmentType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Activated** \ + * **Assigned** + */ +export type AssignmentType = string; + +/** Known values of {@link MemberType} that the service accepts. */ +export enum KnownMemberType { + /** Inherited */ + Inherited = "Inherited", + /** Direct */ + Direct = "Direct", + /** Group */ + Group = "Group" +} + +/** + * Defines values for MemberType. \ + * {@link KnownMemberType} can be used interchangeably with MemberType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Inherited** \ + * **Direct** \ + * **Group** + */ +export type MemberType = string; + +/** Known values of {@link Status} that the service accepts. */ +export enum KnownStatus { + /** Accepted */ + Accepted = "Accepted", + /** PendingEvaluation */ + PendingEvaluation = "PendingEvaluation", + /** Granted */ + Granted = "Granted", + /** Denied */ + Denied = "Denied", + /** PendingProvisioning */ + PendingProvisioning = "PendingProvisioning", + /** Provisioned */ + Provisioned = "Provisioned", + /** PendingRevocation */ + PendingRevocation = "PendingRevocation", + /** Revoked */ + Revoked = "Revoked", + /** Canceled */ + Canceled = "Canceled", + /** Failed */ + Failed = "Failed", + /** PendingApprovalProvisioning */ + PendingApprovalProvisioning = "PendingApprovalProvisioning", + /** PendingApproval */ + PendingApproval = "PendingApproval", + /** FailedAsResourceIsLocked */ + FailedAsResourceIsLocked = "FailedAsResourceIsLocked", + /** PendingAdminDecision */ + PendingAdminDecision = "PendingAdminDecision", + /** AdminApproved */ + AdminApproved = "AdminApproved", + /** AdminDenied */ + AdminDenied = "AdminDenied", + /** TimedOut */ + TimedOut = "TimedOut", + /** ProvisioningStarted */ + ProvisioningStarted = "ProvisioningStarted", + /** Invalid */ + Invalid = "Invalid", + /** PendingScheduleCreation */ + PendingScheduleCreation = "PendingScheduleCreation", + /** ScheduleCreated */ + ScheduleCreated = "ScheduleCreated", + /** PendingExternalProvisioning */ + PendingExternalProvisioning = "PendingExternalProvisioning" +} + +/** + * Defines values for Status. \ + * {@link KnownStatus} can be used interchangeably with Status, + * 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** + */ +export type Status = string; + +/** Known values of {@link RequestType} that the service accepts. */ +export enum KnownRequestType { + /** AdminAssign */ + AdminAssign = "AdminAssign", + /** AdminRemove */ + AdminRemove = "AdminRemove", + /** AdminUpdate */ + AdminUpdate = "AdminUpdate", + /** AdminExtend */ + AdminExtend = "AdminExtend", + /** AdminRenew */ + AdminRenew = "AdminRenew", + /** SelfActivate */ + SelfActivate = "SelfActivate", + /** SelfDeactivate */ + SelfDeactivate = "SelfDeactivate", + /** SelfExtend */ + SelfExtend = "SelfExtend", + /** SelfRenew */ + SelfRenew = "SelfRenew" +} + +/** + * Defines values for RequestType. \ + * {@link KnownRequestType} can be used interchangeably with RequestType, + * 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** + */ +export type RequestType = string; + +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + /** AfterDuration */ + AfterDuration = "AfterDuration", + /** AfterDateTime */ + AfterDateTime = "AfterDateTime", + /** NoExpiration */ + NoExpiration = "NoExpiration" +} + +/** + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **AfterDuration** \ + * **AfterDateTime** \ + * **NoExpiration** + */ +export type Type = string; + +/** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ +export enum KnownRoleManagementPolicyRuleType { + /** RoleManagementPolicyApprovalRule */ + RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", + /** RoleManagementPolicyAuthenticationContextRule */ + RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", + /** RoleManagementPolicyEnablementRule */ + RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", + /** RoleManagementPolicyExpirationRule */ + RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", + /** RoleManagementPolicyNotificationRule */ + RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" +} + +/** + * Defines values for RoleManagementPolicyRuleType. \ + * {@link KnownRoleManagementPolicyRuleType} can be used interchangeably with RoleManagementPolicyRuleType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **RoleManagementPolicyApprovalRule** \ + * **RoleManagementPolicyAuthenticationContextRule** \ + * **RoleManagementPolicyEnablementRule** \ + * **RoleManagementPolicyExpirationRule** \ + * **RoleManagementPolicyNotificationRule** + */ +export type RoleManagementPolicyRuleType = string; + +/** Known values of {@link SeverityLevel} that the service accepts. */ +export enum KnownSeverityLevel { + /** Low */ + Low = "Low", + /** Medium */ + Medium = "Medium", + /** High */ + High = "High" +} + +/** + * 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 + * **Low** \ + * **Medium** \ + * **High** + */ +export type SeverityLevel = string; + +/** Known values of {@link ApprovalMode} that the service accepts. */ +export enum KnownApprovalMode { + /** SingleStage */ + SingleStage = "SingleStage", + /** Serial */ + Serial = "Serial", + /** Parallel */ + Parallel = "Parallel", + /** NoApproval */ + NoApproval = "NoApproval" +} + +/** + * Defines values for ApprovalMode. \ + * {@link KnownApprovalMode} can be used interchangeably with ApprovalMode, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **SingleStage** \ + * **Serial** \ + * **Parallel** \ + * **NoApproval** + */ +export type ApprovalMode = string; + +/** Known values of {@link UserType} that the service accepts. */ +export enum KnownUserType { + /** User */ + User = "User", + /** Group */ + Group = "Group" +} + +/** + * Defines values for UserType. \ + * {@link KnownUserType} can be used interchangeably with UserType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Group** + */ +export type UserType = string; + +/** Known values of {@link EnablementRules} that the service accepts. */ +export enum KnownEnablementRules { + /** MultiFactorAuthentication */ + MultiFactorAuthentication = "MultiFactorAuthentication", + /** Justification */ + Justification = "Justification", + /** Ticketing */ + Ticketing = "Ticketing" +} + +/** + * Defines values for EnablementRules. \ + * {@link KnownEnablementRules} can be used interchangeably with EnablementRules, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **MultiFactorAuthentication** \ + * **Justification** \ + * **Ticketing** + */ +export type EnablementRules = string; + +/** Known values of {@link NotificationDeliveryMechanism} that the service accepts. */ +export enum KnownNotificationDeliveryMechanism { + /** Email */ + Email = "Email" +} + +/** + * Defines values for NotificationDeliveryMechanism. \ + * {@link KnownNotificationDeliveryMechanism} can be used interchangeably with NotificationDeliveryMechanism, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Email** + */ +export type NotificationDeliveryMechanism = string; + +/** Known values of {@link NotificationLevel} that the service accepts. */ +export enum KnownNotificationLevel { + /** None */ + None = "None", + /** Critical */ + Critical = "Critical", + /** All */ + All = "All" +} + +/** + * Defines values for NotificationLevel. \ + * {@link KnownNotificationLevel} can be used interchangeably with NotificationLevel, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Critical** \ + * **All** + */ +export type NotificationLevel = string; + +/** Known values of {@link RecipientType} that the service accepts. */ +export enum KnownRecipientType { + /** Requestor */ + Requestor = "Requestor", + /** Approver */ + Approver = "Approver", + /** Admin */ + Admin = "Admin" +} + +/** + * Defines values for RecipientType. \ + * {@link KnownRecipientType} can be used interchangeably with RecipientType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Requestor** \ + * **Approver** \ + * **Admin** + */ +export type RecipientType = string; + +/** Optional parameters. */ +export interface ClassicAdministratorsListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ClassicAdministratorsListResponse = ClassicAdministratorListResult; + +/** Optional parameters. */ +export interface ClassicAdministratorsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult; + +/** Optional parameters. */ +export interface GlobalAdministratorElevateAccessOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface DenyAssignmentsListForResourceOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + filter?: string; +} + +/** Contains response data for the listForResource operation. */ +export type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListForResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + filter?: string; +} + +/** Contains response data for the listForResourceGroup operation. */ +export type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + filter?: string; } -/** The role management policy notification rule. */ -export interface RoleManagementPolicyNotificationRule - extends RoleManagementPolicyRule { - /** Polymorphic discriminator, which specifies the different types this object can be */ - ruleType: "RoleManagementPolicyNotificationRule"; - /** The type of notification. */ - notificationType?: NotificationDeliveryMechanism; - /** The notification level. */ - notificationLevel?: NotificationLevel; - /** The recipient type. */ - recipientType?: RecipientType; - /** The list of notification recipients. */ - notificationRecipients?: string[]; - /** Determines if the notification will be sent to the recipient type specified in the policy rule. */ - isDefaultRecipientsEnabled?: boolean; +/** Contains response data for the list operation. */ +export type DenyAssignmentsListResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type DenyAssignmentsGetResponse = DenyAssignment; + +/** Optional parameters. */ +export interface DenyAssignmentsGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type DenyAssignmentsGetByIdResponse = DenyAssignment; + +/** Optional parameters. */ +export interface DenyAssignmentsListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + filter?: string; } -/** Known values of {@link PrincipalType} that the service accepts. */ -export enum KnownPrincipalType { - /** User */ - User = "User", - /** Group */ - Group = "Group", - /** ServicePrincipal */ - ServicePrincipal = "ServicePrincipal", - /** ForeignGroup */ - ForeignGroup = "ForeignGroup", - /** Device */ - Device = "Device" +/** Contains response data for the listForScope operation. */ +export type DenyAssignmentsListForScopeResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListForResourceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForResourceNext operation. */ +export type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListForResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForResourceGroupNext operation. */ +export type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type DenyAssignmentsListNextResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface DenyAssignmentsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScopeNext operation. */ +export type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult; + +/** Optional parameters. */ +export interface ProviderOperationsMetadataGetOptionalParams + extends coreClient.OperationOptions { + /** Specifies whether to expand the values. */ + expand?: string; +} + +/** Contains response data for the get operation. */ +export type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata; + +/** Optional parameters. */ +export interface ProviderOperationsMetadataListOptionalParams + extends coreClient.OperationOptions { + /** Specifies whether to expand the values. */ + expand?: string; +} + +/** Contains response data for the list operation. */ +export type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult; + +/** Optional parameters. */ +export interface ProviderOperationsMetadataListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForSubscriptionOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForSubscription operation. */ +export type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the listForResourceGroup operation. */ +export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceOptionalParams + 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; +} + +/** Contains response data for the listForResource operation. */ +export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsGetOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the get operation. */ +export type RoleAssignmentsGetResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type RoleAssignmentsCreateResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsDeleteOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the delete operation. */ +export type RoleAssignmentsDeleteResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsListForScopeOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ + filter?: string; + /** Tenant ID for cross-tenant request */ + tenantId?: string; + /** The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role assignments following the skipToken passed. Only supported on provider level calls. */ + skipToken?: string; +} + +/** Contains response data for the listForScope operation. */ +export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsGetByIdOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; +} + +/** Contains response data for the getById operation. */ +export type RoleAssignmentsGetByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsCreateByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createById operation. */ +export type RoleAssignmentsCreateByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsDeleteByIdOptionalParams + extends coreClient.OperationOptions { + /** Tenant ID for cross-tenant request */ + tenantId?: string; } -/** - * Defines values for PrincipalType. \ - * {@link KnownPrincipalType} can be used interchangeably with PrincipalType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **User** \ - * **Group** \ - * **ServicePrincipal** \ - * **ForeignGroup** \ - * **Device** - */ -export type PrincipalType = string; +/** Contains response data for the deleteById operation. */ +export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; + +/** Optional parameters. */ +export interface RoleAssignmentsListForSubscriptionNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForSubscriptionNext operation. */ +export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForResourceGroupNext operation. */ +export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForResourceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForResourceNext operation. */ +export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface RoleAssignmentsListForScopeNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listForScopeNext operation. */ +export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; + +/** Optional parameters. */ +export interface PermissionsListForResourceGroupOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link AssignmentType} that the service accepts. */ -export enum KnownAssignmentType { - /** Activated */ - Activated = "Activated", - /** Assigned */ - Assigned = "Assigned" -} +/** Contains response data for the listForResourceGroup operation. */ +export type PermissionsListForResourceGroupResponse = PermissionGetResult; -/** - * Defines values for AssignmentType. \ - * {@link KnownAssignmentType} can be used interchangeably with AssignmentType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Activated** \ - * **Assigned** - */ -export type AssignmentType = string; +/** Optional parameters. */ +export interface PermissionsListForResourceOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link MemberType} that the service accepts. */ -export enum KnownMemberType { - /** Inherited */ - Inherited = "Inherited", - /** Direct */ - Direct = "Direct", - /** Group */ - Group = "Group" -} +/** Contains response data for the listForResource operation. */ +export type PermissionsListForResourceResponse = PermissionGetResult; -/** - * Defines values for MemberType. \ - * {@link KnownMemberType} can be used interchangeably with MemberType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Inherited** \ - * **Direct** \ - * **Group** - */ -export type MemberType = string; +/** Optional parameters. */ +export interface PermissionsListForResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link Status} that the service accepts. */ -export enum KnownStatus { - /** Accepted */ - Accepted = "Accepted", - /** PendingEvaluation */ - PendingEvaluation = "PendingEvaluation", - /** Granted */ - Granted = "Granted", - /** Denied */ - Denied = "Denied", - /** PendingProvisioning */ - PendingProvisioning = "PendingProvisioning", - /** Provisioned */ - Provisioned = "Provisioned", - /** PendingRevocation */ - PendingRevocation = "PendingRevocation", - /** Revoked */ - Revoked = "Revoked", - /** Canceled */ - Canceled = "Canceled", - /** Failed */ - Failed = "Failed", - /** PendingApprovalProvisioning */ - PendingApprovalProvisioning = "PendingApprovalProvisioning", - /** PendingApproval */ - PendingApproval = "PendingApproval", - /** FailedAsResourceIsLocked */ - FailedAsResourceIsLocked = "FailedAsResourceIsLocked", - /** PendingAdminDecision */ - PendingAdminDecision = "PendingAdminDecision", - /** AdminApproved */ - AdminApproved = "AdminApproved", - /** AdminDenied */ - AdminDenied = "AdminDenied", - /** TimedOut */ - TimedOut = "TimedOut", - /** ProvisioningStarted */ - ProvisioningStarted = "ProvisioningStarted", - /** Invalid */ - Invalid = "Invalid", - /** PendingScheduleCreation */ - PendingScheduleCreation = "PendingScheduleCreation", - /** ScheduleCreated */ - ScheduleCreated = "ScheduleCreated", - /** PendingExternalProvisioning */ - PendingExternalProvisioning = "PendingExternalProvisioning" -} +/** Contains response data for the listForResourceGroupNext operation. */ +export type PermissionsListForResourceGroupNextResponse = PermissionGetResult; -/** - * Defines values for Status. \ - * {@link KnownStatus} can be used interchangeably with Status, - * 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** - */ -export type Status = string; +/** Optional parameters. */ +export interface PermissionsListForResourceNextOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link RequestType} that the service accepts. */ -export enum KnownRequestType { - /** AdminAssign */ - AdminAssign = "AdminAssign", - /** AdminRemove */ - AdminRemove = "AdminRemove", - /** AdminUpdate */ - AdminUpdate = "AdminUpdate", - /** AdminExtend */ - AdminExtend = "AdminExtend", - /** AdminRenew */ - AdminRenew = "AdminRenew", - /** SelfActivate */ - SelfActivate = "SelfActivate", - /** SelfDeactivate */ - SelfDeactivate = "SelfDeactivate", - /** SelfExtend */ - SelfExtend = "SelfExtend", - /** SelfRenew */ - SelfRenew = "SelfRenew" -} +/** Contains response data for the listForResourceNext operation. */ +export type PermissionsListForResourceNextResponse = PermissionGetResult; -/** - * Defines values for RequestType. \ - * {@link KnownRequestType} can be used interchangeably with RequestType, - * 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** - */ -export type RequestType = string; +/** Optional parameters. */ +export interface RoleDefinitionsDeleteOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link Type} that the service accepts. */ -export enum KnownType { - /** AfterDuration */ - AfterDuration = "AfterDuration", - /** AfterDateTime */ - AfterDateTime = "AfterDateTime", - /** NoExpiration */ - NoExpiration = "NoExpiration" -} +/** Contains response data for the delete operation. */ +export type RoleDefinitionsDeleteResponse = RoleDefinition; -/** - * Defines values for Type. \ - * {@link KnownType} can be used interchangeably with Type, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **AfterDuration** \ - * **AfterDateTime** \ - * **NoExpiration** - */ -export type Type = string; +/** Optional parameters. */ +export interface RoleDefinitionsGetOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ -export enum KnownRoleManagementPolicyRuleType { - /** RoleManagementPolicyApprovalRule */ - RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", - /** RoleManagementPolicyAuthenticationContextRule */ - RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", - /** RoleManagementPolicyEnablementRule */ - RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", - /** RoleManagementPolicyExpirationRule */ - RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", - /** RoleManagementPolicyNotificationRule */ - RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" -} +/** Contains response data for the get operation. */ +export type RoleDefinitionsGetResponse = RoleDefinition; -/** - * Defines values for RoleManagementPolicyRuleType. \ - * {@link KnownRoleManagementPolicyRuleType} can be used interchangeably with RoleManagementPolicyRuleType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **RoleManagementPolicyApprovalRule** \ - * **RoleManagementPolicyAuthenticationContextRule** \ - * **RoleManagementPolicyEnablementRule** \ - * **RoleManagementPolicyExpirationRule** \ - * **RoleManagementPolicyNotificationRule** - */ -export type RoleManagementPolicyRuleType = string; +/** Optional parameters. */ +export interface RoleDefinitionsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} -/** Known values of {@link ApprovalMode} that the service accepts. */ -export enum KnownApprovalMode { - /** SingleStage */ - SingleStage = "SingleStage", - /** Serial */ - Serial = "Serial", - /** Parallel */ - Parallel = "Parallel", - /** NoApproval */ - NoApproval = "NoApproval" +/** Contains response data for the createOrUpdate operation. */ +export type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition; + +/** Optional parameters. */ +export interface RoleDefinitionsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well. */ + filter?: string; } -/** - * Defines values for ApprovalMode. \ - * {@link KnownApprovalMode} can be used interchangeably with ApprovalMode, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **SingleStage** \ - * **Serial** \ - * **Parallel** \ - * **NoApproval** - */ -export type ApprovalMode = string; +/** Contains response data for the list operation. */ +export type RoleDefinitionsListResponse = RoleDefinitionListResult; -/** Known values of {@link UserType} that the service accepts. */ -export enum KnownUserType { - /** User */ - User = "User", - /** Group */ - Group = "Group" -} +/** Optional parameters. */ +export interface RoleDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for UserType. \ - * {@link KnownUserType} can be used interchangeably with UserType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **User** \ - * **Group** - */ -export type UserType = string; +/** Contains response data for the getById operation. */ +export type RoleDefinitionsGetByIdResponse = RoleDefinition; -/** Known values of {@link EnablementRules} that the service accepts. */ -export enum KnownEnablementRules { - /** MultiFactorAuthentication */ - MultiFactorAuthentication = "MultiFactorAuthentication", - /** Justification */ - Justification = "Justification", - /** Ticketing */ - Ticketing = "Ticketing" -} +/** Optional parameters. */ +export interface RoleDefinitionsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for EnablementRules. \ - * {@link KnownEnablementRules} can be used interchangeably with EnablementRules, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **MultiFactorAuthentication** \ - * **Justification** \ - * **Ticketing** - */ -export type EnablementRules = string; +/** Contains response data for the listNext operation. */ +export type RoleDefinitionsListNextResponse = RoleDefinitionListResult; -/** Known values of {@link NotificationDeliveryMechanism} that the service accepts. */ -export enum KnownNotificationDeliveryMechanism { - /** Email */ - Email = "Email" -} +/** Optional parameters. */ +export interface OperationsListOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for NotificationDeliveryMechanism. \ - * {@link KnownNotificationDeliveryMechanism} can be used interchangeably with NotificationDeliveryMechanism, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Email** - */ -export type NotificationDeliveryMechanism = string; +/** Contains response data for the list operation. */ +export type OperationsListResponse = OperationListResult; -/** Known values of {@link NotificationLevel} that the service accepts. */ -export enum KnownNotificationLevel { - /** None */ - None = "None", - /** Critical */ - Critical = "Critical", - /** All */ - All = "All" -} +/** Optional parameters. */ +export interface OperationsListNextOptionalParams + extends coreClient.OperationOptions {} -/** - * Defines values for NotificationLevel. \ - * {@link KnownNotificationLevel} can be used interchangeably with NotificationLevel, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **None** \ - * **Critical** \ - * **All** - */ -export type NotificationLevel = string; +/** Contains response data for the listNext operation. */ +export type OperationsListNextResponse = OperationListResult; -/** Known values of {@link RecipientType} that the service accepts. */ -export enum KnownRecipientType { - /** Requestor */ - Requestor = "Requestor", - /** Approver */ - Approver = "Approver", - /** Admin */ - Admin = "Admin" +/** Optional parameters. */ +export interface AccessReviewHistoryDefinitionsListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Only standard filters on definition name and created date are supported */ + filter?: string; } -/** - * Defines values for RecipientType. \ - * {@link KnownRecipientType} can be used interchangeably with RecipientType, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Requestor** \ - * **Approver** \ - * **Admin** - */ -export type RecipientType = string; +/** Contains response data for the list operation. */ +export type AccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface ClassicAdministratorsListOptionalParams +export interface AccessReviewHistoryDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the list operation. */ -export type ClassicAdministratorsListResponse = ClassicAdministratorListResult; +/** Contains response data for the getById operation. */ +export type AccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; /** Optional parameters. */ -export interface ClassicAdministratorsListNextOptionalParams +export interface AccessReviewHistoryDefinitionsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult; +export type AccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; /** Optional parameters. */ -export interface GlobalAdministratorElevateAccessOptionalParams +export interface AccessReviewHistoryDefinitionCreateOptionalParams extends coreClient.OperationOptions {} +/** Contains response data for the create operation. */ +export type AccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + /** Optional parameters. */ -export interface DenyAssignmentsListForResourceOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ - filter?: string; -} +export interface AccessReviewHistoryDefinitionDeleteByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForResource operation. */ -export type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult; +/** Optional parameters. */ +export interface AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the generateDownloadUri operation. */ +export type AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; /** Optional parameters. */ -export interface DenyAssignmentsListForResourceGroupOptionalParams +export interface AccessReviewHistoryDefinitionInstancesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type AccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; + +/** Optional parameters. */ +export interface AccessReviewHistoryDefinitionInstancesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type AccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsListOptionalParams extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + /** The filter to apply on the operation. 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 listForResourceGroup operation. */ -export type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface DenyAssignmentsListOptionalParams +export interface AccessReviewScheduleDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type AccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdateById operation. */ +export type AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsStopOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewScheduleDefinitionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type AccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; + +/** Optional parameters. */ +export interface AccessReviewInstancesListOptionalParams extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use $filter=atScope() to return all deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + /** The filter to apply on the operation. 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 DenyAssignmentsListResponse = DenyAssignmentListResult; +export type AccessReviewInstancesListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface DenyAssignmentsGetOptionalParams +export interface AccessReviewInstancesGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type DenyAssignmentsGetResponse = DenyAssignment; +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface DenyAssignmentsGetByIdOptionalParams +export interface AccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the getById operation. */ -export type DenyAssignmentsGetByIdResponse = DenyAssignment; +/** Contains response data for the create operation. */ +export type AccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface DenyAssignmentsListForScopeOptionalParams +export interface AccessReviewInstancesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; + +/** Optional parameters. */ +export interface AccessReviewInstanceStopOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewInstanceResetDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface AccessReviewInstanceApplyDecisionsOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +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 deny assignments at or above the scope. Use $filter=denyAssignmentName eq '{name}' to search deny assignments by name at specified scope. Use $filter=principalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. Use $filter=gdprExportPrincipalId eq '{id}' to return all deny assignments at, above and below the scope for the specified principal. This filter is different from the principalId filter as it returns not only those deny assignments that contain the specified principal is the Principals list but also those deny assignments that contain the specified principal is the ExcludePrincipals list. Additionally, when gdprExportPrincipalId filter is used, only the deny assignment name and description properties are returned. */ + /** The filter to apply on the operation. 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 DenyAssignmentsListForScopeResponse = DenyAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface DenyAssignmentsListForResourceNextOptionalParams +export interface AccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface DenyAssignmentsListForResourceGroupNextOptionalParams +export interface AccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult; +/** Contains response data for the list operation. */ +export type AccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface DenyAssignmentsListNextOptionalParams +export interface AccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type DenyAssignmentsListNextResponse = DenyAssignmentListResult; +export type AccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface DenyAssignmentsListForScopeNextOptionalParams +export interface AccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult; +/** Contains response data for the get operation. */ +export type AccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface ProviderOperationsMetadataGetOptionalParams +export interface AccessReviewDefaultSettingsPutOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the put operation. */ +export type AccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionsListOptionalParams extends coreClient.OperationOptions { - /** Specifies whether to expand the values. */ - expand?: string; + /** 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 get operation. */ -export type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewHistoryDefinitionsListResponse = AccessReviewHistoryDefinitionListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewHistoryDefinitionsGetByIdResponse = AccessReviewHistoryDefinition; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionsListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewHistoryDefinitionsListNextResponse = AccessReviewHistoryDefinitionListResult; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type ScopeAccessReviewHistoryDefinitionCreateResponse = AccessReviewHistoryDefinition; + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the generateDownloadUri operation. */ +export type ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse = AccessReviewHistoryInstance; /** Optional parameters. */ -export interface ProviderOperationsMetadataListOptionalParams - extends coreClient.OperationOptions { - /** Specifies whether to expand the values. */ - expand?: string; -} +export interface ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ -export type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult; +export type ScopeAccessReviewHistoryDefinitionInstancesListResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface ProviderOperationsMetadataListNextOptionalParams +export interface ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult; +export type ScopeAccessReviewHistoryDefinitionInstancesListNextResponse = AccessReviewHistoryDefinitionInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsListOptionalParams 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 list operation. */ +export type ScopeAccessReviewScheduleDefinitionsListResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceGroupOptionalParams - extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal. */ - filter?: string; - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroup operation. */ -export type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; +/** Contains response data for the getById operation. */ +export type ScopeAccessReviewScheduleDefinitionsGetByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface RoleAssignmentsListForResourceOptionalParams - 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; -} - -/** Contains response data for the listForResource operation. */ -export type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; +export interface ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsGetOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleAssignmentsGetResponse = RoleAssignment; +/** Contains response data for the createOrUpdateById operation. */ +export type ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse = AccessReviewScheduleDefinition; /** Optional parameters. */ -export interface RoleAssignmentsCreateOptionalParams +export interface ScopeAccessReviewScheduleDefinitionsStopOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the create operation. */ -export type RoleAssignmentsCreateResponse = RoleAssignment; - /** Optional parameters. */ -export interface RoleAssignmentsDeleteOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewScheduleDefinitionsListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the delete operation. */ -export type RoleAssignmentsDeleteResponse = RoleAssignment; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewScheduleDefinitionsListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeOptionalParams +export interface ScopeAccessReviewInstancesListOptionalParams 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; - /** The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role assignments following the skipToken passed. Only supported on provider level calls. */ - skipToken?: string; } -/** Contains response data for the listForScope operation. */ -export type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstancesListResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsGetByIdOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewInstancesGetByIdOptionalParams + extends coreClient.OperationOptions {} /** Contains response data for the getById operation. */ -export type RoleAssignmentsGetByIdResponse = RoleAssignment; +export type ScopeAccessReviewInstancesGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsCreateByIdOptionalParams +export interface ScopeAccessReviewInstancesCreateOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createById operation. */ -export type RoleAssignmentsCreateByIdResponse = RoleAssignment; +/** Contains response data for the create operation. */ +export type ScopeAccessReviewInstancesCreateResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleAssignmentsDeleteByIdOptionalParams - extends coreClient.OperationOptions { - /** Tenant ID for cross-tenant request */ - tenantId?: string; -} +export interface ScopeAccessReviewInstancesListNextOptionalParams + extends coreClient.OperationOptions {} -/** Contains response data for the deleteById operation. */ -export type RoleAssignmentsDeleteByIdResponse = RoleAssignment; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstancesListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForSubscriptionNextOptionalParams +export interface ScopeAccessReviewInstanceStopOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForSubscriptionNext operation. */ -export type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsListForResourceGroupNextOptionalParams +export interface ScopeAccessReviewInstanceResetDecisionsOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceApplyDecisionsOptionalParams + extends coreClient.OperationOptions {} /** Optional parameters. */ -export interface RoleAssignmentsListForResourceNextOptionalParams +export interface ScopeAccessReviewInstanceSendRemindersOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; +/** Optional parameters. */ +export interface ScopeAccessReviewInstanceDecisionsListOptionalParams + 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 ScopeAccessReviewInstanceDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleAssignmentsListForScopeNextOptionalParams +export interface ScopeAccessReviewInstanceDecisionsListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForScopeNext operation. */ -export type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstanceDecisionsListNextResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface PermissionsListForResourceGroupOptionalParams +export interface ScopeAccessReviewInstanceContactedReviewersListOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroup operation. */ -export type PermissionsListForResourceGroupResponse = PermissionGetResult; +/** Contains response data for the list operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface PermissionsListForResourceOptionalParams +export interface ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResource operation. */ -export type PermissionsListForResourceResponse = PermissionGetResult; +/** Contains response data for the listNext operation. */ +export type ScopeAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ -export interface PermissionsListForResourceGroupNextOptionalParams +export interface ScopeAccessReviewDefaultSettingsGetOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceGroupNext operation. */ -export type PermissionsListForResourceGroupNextResponse = PermissionGetResult; +/** Contains response data for the get operation. */ +export type ScopeAccessReviewDefaultSettingsGetResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface PermissionsListForResourceNextOptionalParams +export interface ScopeAccessReviewDefaultSettingsPutOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the listForResourceNext operation. */ -export type PermissionsListForResourceNextResponse = PermissionGetResult; +/** Contains response data for the put operation. */ +export type ScopeAccessReviewDefaultSettingsPutResponse = AccessReviewDefaultSettings; /** Optional parameters. */ -export interface RoleDefinitionsDeleteOptionalParams +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 {} -/** Contains response data for the delete operation. */ -export type RoleDefinitionsDeleteResponse = RoleDefinition; +/** Contains response data for the listNext operation. */ +export type AccessReviewScheduleDefinitionsAssignedForMyApprovalListNextResponse = AccessReviewScheduleDefinitionListResult; /** Optional parameters. */ -export interface RoleDefinitionsGetOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalListOptionalParams + extends coreClient.OperationOptions { + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ + filter?: string; +} + +/** Contains response data for the list operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListResponse = AccessReviewInstanceListResult; + +/** Optional parameters. */ +export interface AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the get operation. */ -export type RoleDefinitionsGetResponse = RoleDefinition; +/** Contains response data for the getById operation. */ +export type AccessReviewInstancesAssignedForMyApprovalGetByIdResponse = AccessReviewInstance; /** Optional parameters. */ -export interface RoleDefinitionsCreateOrUpdateOptionalParams +export interface AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams extends coreClient.OperationOptions {} -/** Contains response data for the createOrUpdate operation. */ -export type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition; +/** Contains response data for the listNext operation. */ +export type AccessReviewInstancesAssignedForMyApprovalListNextResponse = AccessReviewInstanceListResult; /** Optional parameters. */ -export interface RoleDefinitionsListOptionalParams +export interface AccessReviewInstanceMyDecisionsListOptionalParams extends coreClient.OperationOptions { - /** The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well. */ + /** The filter to apply on the operation. Other than standard filters, one custom filter option is supported : 'assignedToMeToReview()'. When one specified $filter=assignedToMeToReview(), only items that are assigned to the calling user to review are returned */ filter?: string; } /** Contains response data for the list operation. */ -export type RoleDefinitionsListResponse = RoleDefinitionListResult; +export type AccessReviewInstanceMyDecisionsListResponse = AccessReviewDecisionListResult; /** Optional parameters. */ -export interface RoleDefinitionsGetByIdOptionalParams +export interface AccessReviewInstanceMyDecisionsGetByIdOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the getById operation. */ -export type RoleDefinitionsGetByIdResponse = RoleDefinition; +export type AccessReviewInstanceMyDecisionsGetByIdResponse = AccessReviewDecision; /** Optional parameters. */ -export interface RoleDefinitionsListNextOptionalParams +export interface AccessReviewInstanceMyDecisionsPatchOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the patch operation. */ +export type AccessReviewInstanceMyDecisionsPatchResponse = AccessReviewDecision; + +/** Optional parameters. */ +export interface AccessReviewInstanceMyDecisionsListNextOptionalParams extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ -export type RoleDefinitionsListNextResponse = RoleDefinitionListResult; +export type AccessReviewInstanceMyDecisionsListNextResponse = AccessReviewDecisionListResult; + +/** Optional parameters. */ +export interface TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListResponse = AccessReviewContactedReviewerListResult; + +/** Optional parameters. */ +export interface TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type TenantLevelAccessReviewInstanceContactedReviewersListNextResponse = AccessReviewContactedReviewerListResult; /** Optional parameters. */ export interface EligibleChildResourcesGetOptionalParams @@ -2302,6 +4788,133 @@ export interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams /** Contains response data for the listForScopeNext operation. */ export type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; +/** Optional parameters. */ +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 listForScope operation. */ +export type AlertsListForScopeResponse = AlertListResult; + +/** Optional parameters. */ +export interface AlertsRefreshOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the refresh operation. */ +export type AlertsRefreshResponse = AlertsRefreshHeaders & AlertOperationResult; + +/** Optional parameters. */ +export interface AlertsRefreshAllOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the 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 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 AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { diff --git a/sdk/authorization/arm-authorization/src/models/mappers.ts b/sdk/authorization/arm-authorization/src/models/mappers.ts index 052a845c0c16..43bcf3fafc0f 100644 --- a/sdk/authorization/arm-authorization/src/models/mappers.ts +++ b/sdk/authorization/arm-authorization/src/models/mappers.ts @@ -892,6 +892,20 @@ export const Permission: coreClient.CompositeMapper = { } } } + }, + condition: { + serializedName: "condition", + readOnly: true, + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "conditionVersion", + readOnly: true, + type: { + name: "String" + } } } } @@ -1023,10 +1037,10 @@ export const RoleDefinitionListResult: coreClient.CompositeMapper = { } }; -export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { +export const OperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EligibleChildResourcesListResult", + className: "OperationListResult", modelProperties: { value: { serializedName: "value", @@ -1035,7 +1049,7 @@ export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "EligibleChildResource" + className: "Operation" } } } @@ -1050,27 +1064,68 @@ export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { } }; -export const EligibleChildResource: coreClient.CompositeMapper = { +export const Operation: coreClient.CompositeMapper = { type: { name: "Composite", - className: "EligibleChildResource", + className: "Operation", modelProperties: { - id: { - serializedName: "id", + 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" } }, - name: { - serializedName: "name", + resource: { + serializedName: "resource", readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + operation: { + serializedName: "operation", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "description", readOnly: true, type: { name: "String" @@ -1080,35 +1135,63 @@ export const EligibleChildResource: coreClient.CompositeMapper = { } }; -export const CloudError: coreClient.CompositeMapper = { +export const ErrorDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CloudError", + className: "ErrorDefinition", modelProperties: { error: { serializedName: "error", type: { name: "Composite", - className: "CloudErrorBody" + className: "ErrorDefinitionProperties" } } } } }; -export const CloudErrorBody: coreClient.CompositeMapper = { +export const ErrorDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "CloudErrorBody", + 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" + } + } + } }, - message: { - serializedName: "message", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -1117,10 +1200,10 @@ export const CloudErrorBody: coreClient.CompositeMapper = { } }; -export const RoleAssignmentSchedule: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentSchedule", + className: "AccessReviewHistoryDefinition", modelProperties: { id: { serializedName: "id", @@ -1143,415 +1226,390 @@ export const RoleAssignmentSchedule: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - principalId: { - serializedName: "properties.principalId", + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - principalType: { - serializedName: "properties.principalType", + decisions: { + serializedName: "properties.decisions", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - roleAssignmentScheduleRequestId: { - serializedName: "properties.roleAssignmentScheduleRequestId", + status: { + serializedName: "properties.status", + readOnly: true, type: { name: "String" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - assignmentType: { - serializedName: "properties.assignmentType", + scopes: { + serializedName: "properties.scopes", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewScope" + } + } } }, - memberType: { - serializedName: "properties.memberType", + instances: { + serializedName: "properties.instances", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewHistoryInstance" + } + } } }, - status: { - serializedName: "properties.status", + typePropertiesSettingsRangeType: { + serializedName: "properties.settings.range.type", + nullable: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + numberOfOccurrences: { + serializedName: "properties.settings.range.numberOfOccurrences", + nullable: true, type: { - name: "DateTime" + name: "Number" } }, - endDateTime: { - serializedName: "properties.endDateTime", + startDate: { + serializedName: "properties.settings.range.startDate", + nullable: true, type: { name: "DateTime" } }, - condition: { - serializedName: "properties.condition", + endDate: { + serializedName: "properties.settings.range.endDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + typePropertiesSettingsPatternType: { + serializedName: "properties.settings.pattern.type", + nullable: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + interval: { + serializedName: "properties.settings.pattern.interval", + nullable: true, type: { - name: "DateTime" + name: "Number" } }, - updatedOn: { - serializedName: "properties.updatedOn", + principalId: { + serializedName: "properties.createdBy.principalId", + readOnly: true, + nullable: true, type: { - name: "DateTime" + name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const ExpandedProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedProperties", - modelProperties: { - scope: { - serializedName: "scope", + principalType: { + serializedName: "properties.createdBy.principalType", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "ExpandedPropertiesScope" + name: "String" } }, - roleDefinition: { - serializedName: "roleDefinition", + principalName: { + serializedName: "properties.createdBy.principalName", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition" + name: "String" } }, - principal: { - serializedName: "principal", + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", + readOnly: true, + nullable: true, type: { - name: "Composite", - className: "ExpandedPropertiesPrincipal" + name: "String" } } } } }; -export const ExpandedPropertiesScope: coreClient.CompositeMapper = { +export const AccessReviewHistoryDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandedPropertiesScope", + className: "AccessReviewHistoryDefinitionProperties", modelProperties: { - id: { - serializedName: "id", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - displayName: { - serializedName: "displayName", + reviewHistoryPeriodStartDateTime: { + serializedName: "reviewHistoryPeriodStartDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } }, - type: { - serializedName: "type", + reviewHistoryPeriodEndDateTime: { + serializedName: "reviewHistoryPeriodEndDateTime", + readOnly: true, + nullable: true, type: { - name: "String" + name: "DateTime" } - } - } - } -}; - -export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedPropertiesRoleDefinition", - modelProperties: { - id: { - serializedName: "id", + }, + decisions: { + serializedName: "decisions", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - displayName: { - serializedName: "displayName", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + createdDateTime: { + serializedName: "createdDateTime", + readOnly: true, + nullable: true, type: { - name: "String" - } - } - } - } -}; - -export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandedPropertiesPrincipal", - modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", - type: { - name: "String" - } - }, - email: { - serializedName: "email", - type: { - name: "String" + name: "DateTime" } }, - type: { - serializedName: "type", - type: { - name: "String" - } - } - } - } -}; - -export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleListResult", - modelProperties: { - value: { - serializedName: "value", + scopes: { + serializedName: "scopes", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignmentSchedule" + className: "AccessReviewScope" } } } }, - nextLink: { - serializedName: "nextLink", - 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: "AccessReviewHistoryInstance" } } } }, - nextLink: { - serializedName: "nextLink", + typeSettingsRangeType: { + serializedName: "settings.range.type", + nullable: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleInstance", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, + }, + numberOfOccurrences: { + serializedName: "settings.range.numberOfOccurrences", + nullable: true, type: { - name: "String" + name: "Number" } }, - name: { - serializedName: "name", - readOnly: true, + startDate: { + serializedName: "settings.range.startDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - type: { - serializedName: "type", - readOnly: true, + endDate: { + serializedName: "settings.range.endDate", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - scope: { - serializedName: "properties.scope", + typeSettingsPatternType: { + serializedName: "settings.pattern.type", + nullable: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + interval: { + serializedName: "settings.pattern.interval", + nullable: true, type: { - name: "String" + name: "Number" } }, principalId: { - serializedName: "properties.principalId", + serializedName: "createdBy.principalId", + readOnly: true, + nullable: true, type: { name: "String" } }, principalType: { - serializedName: "properties.principalType", + serializedName: "createdBy.principalType", + readOnly: true, + nullable: true, type: { name: "String" } }, - roleAssignmentScheduleId: { - serializedName: "properties.roleAssignmentScheduleId", + principalName: { + serializedName: "createdBy.principalName", + readOnly: true, + nullable: true, type: { name: "String" } }, - originRoleAssignmentId: { - serializedName: "properties.originRoleAssignmentId", + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", + readOnly: true, + nullable: true, type: { name: "String" } - }, - status: { - serializedName: "properties.status", + } + } + } +}; + +export const AccessReviewScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScope", + modelProperties: { + resourceId: { + serializedName: "resourceId", + readOnly: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", - type: { - name: "DateTime" - } - }, - endDateTime: { - serializedName: "properties.endDateTime", + roleDefinitionId: { + serializedName: "roleDefinitionId", + readOnly: true, type: { - name: "DateTime" + name: "String" } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + principalType: { + serializedName: "principalType", + readOnly: true, type: { name: "String" } }, - linkedRoleEligibilityScheduleInstanceId: { - serializedName: "properties.linkedRoleEligibilityScheduleInstanceId", + assignmentState: { + serializedName: "assignmentState", + readOnly: true, type: { name: "String" } }, - assignmentType: { - serializedName: "properties.assignmentType", + inactiveDuration: { + serializedName: "inactiveDuration", type: { - name: "String" + name: "TimeSpan" } }, - memberType: { - serializedName: "properties.memberType", + expandNestedMemberships: { + serializedName: "expandNestedMemberships", type: { - name: "String" + name: "Boolean" } }, - condition: { - serializedName: "properties.condition", + includeInheritedAccess: { + serializedName: "includeInheritedAccess", type: { - name: "String" + name: "Boolean" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + includeAccessBelowResource: { + serializedName: "includeAccessBelowResource", type: { - name: "String" + name: "Boolean" } }, - createdOn: { - serializedName: "properties.createdOn", + excludeResourceId: { + serializedName: "excludeResourceId", type: { - name: "DateTime" + name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + excludeRoleDefinitionId: { + serializedName: "excludeRoleDefinitionId", type: { - name: "Composite", - className: "ExpandedProperties" + name: "String" } } } } }; -export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { +export const AccessReviewHistoryInstance: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleAssignmentScheduleRequest", + className: "AccessReviewHistoryInstance", modelProperties: { id: { serializedName: "id", @@ -1574,371 +1632,2977 @@ export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", - readOnly: true, + reviewHistoryPeriodStartDateTime: { + serializedName: "properties.reviewHistoryPeriodStartDateTime", type: { - name: "String" + name: "DateTime" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + reviewHistoryPeriodEndDateTime: { + serializedName: "properties.reviewHistoryPeriodEndDateTime", type: { - name: "String" + name: "DateTime" } }, - principalId: { - serializedName: "properties.principalId", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + status: { + serializedName: "properties.status", readOnly: true, type: { name: "String" } }, - requestType: { - serializedName: "properties.requestType", + runDateTime: { + serializedName: "properties.runDateTime", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - status: { - serializedName: "properties.status", - readOnly: true, + fulfilledDateTime: { + serializedName: "properties.fulfilledDateTime", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - approvalId: { - serializedName: "properties.approvalId", + downloadUri: { + serializedName: "properties.downloadUri", readOnly: true, type: { name: "String" } }, - targetRoleAssignmentScheduleId: { - serializedName: "properties.targetRoleAssignmentScheduleId", + expiration: { + serializedName: "properties.expiration", + nullable: true, type: { - name: "String" + 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" + } + } } }, - targetRoleAssignmentScheduleInstanceId: { - serializedName: "properties.targetRoleAssignmentScheduleInstanceId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", + } + } + } +}; + +export const AccessReviewScheduleDefinitionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinitionListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinition" + } + } } }, - linkedRoleEligibilityScheduleId: { - serializedName: "properties.linkedRoleEligibilityScheduleId", + nextLink: { + serializedName: "nextLink", type: { name: "String" } - }, - justification: { - serializedName: "properties.justification", + } + } + } +}; + +export const AccessReviewScheduleDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleDefinition", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - ticketInfo: { - serializedName: "properties.ticketInfo", - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo" - } - }, - condition: { - serializedName: "properties.condition", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, + displayName: { + serializedName: "properties.displayName", type: { - name: "DateTime" + name: "String" } }, - requestorId: { - serializedName: "properties.requestorId", + status: { + serializedName: "properties.status", readOnly: true, type: { name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", - type: { - name: "Composite", - className: "ExpandedProperties" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo", - modelProperties: { - startDateTime: { - serializedName: "startDateTime", + descriptionForAdmins: { + serializedName: "properties.descriptionForAdmins", type: { - name: "DateTime" + name: "String" } }, - expiration: { - serializedName: "expiration", - type: { - name: "Composite", - className: - "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration", - modelProperties: { - type: { - serializedName: "type", + descriptionForReviewers: { + serializedName: "properties.descriptionForReviewers", type: { name: "String" } }, - endDateTime: { - serializedName: "endDateTime", + reviewers: { + serializedName: "properties.reviewers", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - duration: { - serializedName: "duration", - type: { - name: "String" - } - } - } - } -}; - -export const RoleAssignmentScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestPropertiesTicketInfo", - modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + backupReviewers: { + serializedName: "properties.backupReviewers", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } } }, - ticketSystem: { - serializedName: "ticketSystem", + reviewersType: { + serializedName: "properties.reviewersType", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleAssignmentScheduleRequestListResult", - modelProperties: { - value: { - serializedName: "value", + }, + instances: { + serializedName: "properties.instances", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleAssignmentScheduleRequest" + className: "AccessReviewInstance" } } } }, - nextLink: { - serializedName: "nextLink", + resourceId: { + serializedName: "properties.scope.resourceId", + readOnly: true, type: { name: "String" } - } - } - } -}; - -export const RoleEligibilitySchedule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleEligibilitySchedule", - modelProperties: { - id: { - serializedName: "id", + }, + roleDefinitionId: { + serializedName: "properties.scope.roleDefinitionId", readOnly: true, type: { name: "String" } }, - name: { - serializedName: "name", + principalTypePropertiesScopePrincipalType: { + serializedName: "properties.scope.principalType", readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + assignmentState: { + serializedName: "properties.scope.assignmentState", readOnly: true, type: { name: "String" } }, - scope: { - serializedName: "properties.scope", + inactiveDuration: { + serializedName: "properties.scope.inactiveDuration", type: { - name: "String" + name: "TimeSpan" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + expandNestedMemberships: { + serializedName: "properties.scope.expandNestedMemberships", type: { - name: "String" + name: "Boolean" } }, - principalId: { - serializedName: "properties.principalId", + includeInheritedAccess: { + serializedName: "properties.scope.includeInheritedAccess", type: { - name: "String" + name: "Boolean" } }, - principalType: { - serializedName: "properties.principalType", + includeAccessBelowResource: { + serializedName: "properties.scope.includeAccessBelowResource", + type: { + name: "Boolean" + } + }, + excludeResourceId: { + serializedName: "properties.scope.excludeResourceId", type: { name: "String" } }, - roleEligibilityScheduleRequestId: { - serializedName: "properties.roleEligibilityScheduleRequestId", + excludeRoleDefinitionId: { + serializedName: "properties.scope.excludeRoleDefinitionId", type: { name: "String" } }, - memberType: { - serializedName: "properties.memberType", + mailNotificationsEnabled: { + serializedName: "properties.settings.mailNotificationsEnabled", + type: { + name: "Boolean" + } + }, + reminderNotificationsEnabled: { + serializedName: "properties.settings.reminderNotificationsEnabled", + type: { + name: "Boolean" + } + }, + defaultDecisionEnabled: { + serializedName: "properties.settings.defaultDecisionEnabled", + type: { + name: "Boolean" + } + }, + justificationRequiredOnApproval: { + serializedName: "properties.settings.justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "properties.settings.defaultDecision", type: { name: "String" } }, - status: { - serializedName: "properties.status", + autoApplyDecisionsEnabled: { + serializedName: "properties.settings.autoApplyDecisionsEnabled", + type: { + name: "Boolean" + } + }, + recommendationsEnabled: { + serializedName: "properties.settings.recommendationsEnabled", + type: { + name: "Boolean" + } + }, + recommendationLookBackDuration: { + serializedName: "properties.settings.recommendationLookBackDuration", + type: { + name: "TimeSpan" + } + }, + instanceDurationInDays: { + serializedName: "properties.settings.instanceDurationInDays", + type: { + name: "Number" + } + }, + typePropertiesSettingsRecurrenceRangeType: { + serializedName: "properties.settings.recurrence.range.type", type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + numberOfOccurrences: { + serializedName: + "properties.settings.recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "properties.settings.recurrence.range.startDate", + nullable: true, type: { name: "DateTime" } }, - endDateTime: { - serializedName: "properties.endDateTime", + endDate: { + serializedName: "properties.settings.recurrence.range.endDate", + nullable: true, type: { name: "DateTime" } }, - condition: { - serializedName: "properties.condition", + typePropertiesSettingsRecurrencePatternType: { + serializedName: "properties.settings.recurrence.pattern.type", type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + interval: { + serializedName: "properties.settings.recurrence.pattern.interval", + type: { + name: "Number" + } + }, + principalId: { + serializedName: "properties.createdBy.principalId", + readOnly: true, type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + principalTypePropertiesCreatedByPrincipalType: { + serializedName: "properties.createdBy.principalType", + readOnly: true, type: { - name: "DateTime" + name: "String" } }, - updatedOn: { - serializedName: "properties.updatedOn", + principalName: { + serializedName: "properties.createdBy.principalName", + readOnly: true, type: { - name: "DateTime" + name: "String" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + userPrincipalName: { + serializedName: "properties.createdBy.userPrincipalName", + readOnly: true, type: { - name: "Composite", - className: "ExpandedProperties" + name: "String" } } } } }; -export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { +export const AccessReviewScheduleDefinitionProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleListResult", + className: "AccessReviewScheduleDefinitionProperties", modelProperties: { - value: { - serializedName: "value", + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + status: { + serializedName: "status", + readOnly: true, + type: { + name: "String" + } + }, + descriptionForAdmins: { + serializedName: "descriptionForAdmins", + type: { + name: "String" + } + }, + descriptionForReviewers: { + serializedName: "descriptionForReviewers", + type: { + name: "String" + } + }, + reviewers: { + serializedName: "reviewers", type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleEligibilitySchedule" + className: "AccessReviewReviewer" } } } }, - nextLink: { - serializedName: "nextLink", + backupReviewers: { + serializedName: "backupReviewers", type: { - name: "String" - } + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + reviewersType: { + serializedName: "reviewersType", + readOnly: true, + type: { + name: "String" + } + }, + instances: { + serializedName: "instances", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewInstance" + } + } + } + }, + resourceId: { + serializedName: "scope.resourceId", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "scope.roleDefinitionId", + readOnly: true, + type: { + name: "String" + } + }, + principalTypeScopePrincipalType: { + serializedName: "scope.principalType", + readOnly: true, + type: { + name: "String" + } + }, + assignmentState: { + serializedName: "scope.assignmentState", + readOnly: true, + type: { + name: "String" + } + }, + inactiveDuration: { + serializedName: "scope.inactiveDuration", + type: { + name: "TimeSpan" + } + }, + expandNestedMemberships: { + serializedName: "scope.expandNestedMemberships", + type: { + name: "Boolean" + } + }, + includeInheritedAccess: { + serializedName: "scope.includeInheritedAccess", + type: { + name: "Boolean" + } + }, + includeAccessBelowResource: { + serializedName: "scope.includeAccessBelowResource", + type: { + name: "Boolean" + } + }, + excludeResourceId: { + serializedName: "scope.excludeResourceId", + type: { + name: "String" + } + }, + excludeRoleDefinitionId: { + serializedName: "scope.excludeRoleDefinitionId", + type: { + name: "String" + } + }, + mailNotificationsEnabled: { + serializedName: "settings.mailNotificationsEnabled", + type: { + name: "Boolean" + } + }, + reminderNotificationsEnabled: { + serializedName: "settings.reminderNotificationsEnabled", + type: { + name: "Boolean" + } + }, + defaultDecisionEnabled: { + serializedName: "settings.defaultDecisionEnabled", + type: { + name: "Boolean" + } + }, + justificationRequiredOnApproval: { + serializedName: "settings.justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "settings.defaultDecision", + type: { + name: "String" + } + }, + autoApplyDecisionsEnabled: { + serializedName: "settings.autoApplyDecisionsEnabled", + type: { + name: "Boolean" + } + }, + recommendationsEnabled: { + serializedName: "settings.recommendationsEnabled", + type: { + name: "Boolean" + } + }, + recommendationLookBackDuration: { + serializedName: "settings.recommendationLookBackDuration", + type: { + name: "TimeSpan" + } + }, + instanceDurationInDays: { + serializedName: "settings.instanceDurationInDays", + type: { + name: "Number" + } + }, + typeSettingsRecurrenceRangeType: { + serializedName: "settings.recurrence.range.type", + type: { + name: "String" + } + }, + numberOfOccurrences: { + serializedName: "settings.recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "settings.recurrence.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "settings.recurrence.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typeSettingsRecurrencePatternType: { + serializedName: "settings.recurrence.pattern.type", + type: { + name: "String" + } + }, + interval: { + serializedName: "settings.recurrence.pattern.interval", + type: { + name: "Number" + } + }, + principalId: { + serializedName: "createdBy.principalId", + readOnly: true, + type: { + name: "String" + } + }, + principalTypeCreatedByPrincipalType: { + serializedName: "createdBy.principalType", + readOnly: true, + type: { + name: "String" + } + }, + principalName: { + serializedName: "createdBy.principalName", + readOnly: true, + type: { + name: "String" + } + }, + userPrincipalName: { + serializedName: "createdBy.userPrincipalName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewScheduleSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewScheduleSettings", + modelProperties: { + mailNotificationsEnabled: { + serializedName: "mailNotificationsEnabled", + type: { + name: "Boolean" + } + }, + reminderNotificationsEnabled: { + serializedName: "reminderNotificationsEnabled", + type: { + name: "Boolean" + } + }, + defaultDecisionEnabled: { + serializedName: "defaultDecisionEnabled", + type: { + name: "Boolean" + } + }, + justificationRequiredOnApproval: { + serializedName: "justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "defaultDecision", + type: { + name: "String" + } + }, + autoApplyDecisionsEnabled: { + serializedName: "autoApplyDecisionsEnabled", + type: { + name: "Boolean" + } + }, + recommendationsEnabled: { + serializedName: "recommendationsEnabled", + type: { + name: "Boolean" + } + }, + recommendationLookBackDuration: { + serializedName: "recommendationLookBackDuration", + type: { + name: "TimeSpan" + } + }, + instanceDurationInDays: { + serializedName: "instanceDurationInDays", + type: { + name: "Number" + } + }, + typeRecurrenceRangeType: { + serializedName: "recurrence.range.type", + type: { + name: "String" + } + }, + numberOfOccurrences: { + serializedName: "recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "recurrence.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "recurrence.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typeRecurrencePatternType: { + serializedName: "recurrence.pattern.type", + type: { + name: "String" + } + }, + interval: { + serializedName: "recurrence.pattern.interval", + type: { + name: "Number" + } + } + } + } +}; + +export const AccessReviewReviewer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewReviewer", + modelProperties: { + principalId: { + serializedName: "principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "principalType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewInstance", + 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" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + reviewers: { + serializedName: "properties.reviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + backupReviewers: { + serializedName: "properties.backupReviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + reviewersType: { + serializedName: "properties.reviewersType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewInstanceProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewInstanceProperties", + modelProperties: { + status: { + serializedName: "status", + readOnly: true, + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" + } + }, + reviewers: { + serializedName: "reviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + backupReviewers: { + serializedName: "backupReviewers", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewReviewer" + } + } + } + }, + reviewersType: { + serializedName: "reviewersType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewInstanceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewInstanceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewInstance" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecisionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecision" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecision: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecision", + 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" + } + }, + recommendation: { + serializedName: "properties.recommendation", + readOnly: true, + type: { + name: "String" + } + }, + decision: { + serializedName: "properties.decision", + type: { + name: "String" + } + }, + justification: { + serializedName: "properties.justification", + type: { + name: "String" + } + }, + reviewedDateTime: { + serializedName: "properties.reviewedDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + applyResult: { + serializedName: "properties.applyResult", + readOnly: true, + type: { + name: "String" + } + }, + appliedDateTime: { + serializedName: "properties.appliedDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + insights: { + serializedName: "properties.insights", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight" + } + } + } + }, + membershipTypes: { + serializedName: + "properties.principalResourceMembership.membershipTypes", + nullable: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + principalIdPropertiesAppliedByPrincipalId: { + serializedName: "properties.appliedBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalTypePropertiesAppliedByPrincipalType: { + serializedName: "properties.appliedBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalNamePropertiesAppliedByPrincipalName: { + serializedName: "properties.appliedBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalNamePropertiesAppliedByUserPrincipalName: { + serializedName: "properties.appliedBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalIdPropertiesReviewedByPrincipalId: { + serializedName: "properties.reviewedBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalTypePropertiesReviewedByPrincipalType: { + serializedName: "properties.reviewedBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalNamePropertiesReviewedByPrincipalName: { + serializedName: "properties.reviewedBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalNamePropertiesReviewedByUserPrincipalName: { + serializedName: "properties.reviewedBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + typePropertiesResourceType: { + serializedName: "properties.resource.type", + nullable: true, + type: { + name: "String" + } + }, + idPropertiesResourceId: { + serializedName: "properties.resource.id", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + displayNamePropertiesResourceDisplayName: { + serializedName: "properties.resource.displayName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + typePropertiesPrincipalType: { + serializedName: "properties.principal.type", + nullable: true, + type: { + name: "String" + } + }, + idPropertiesPrincipalId: { + serializedName: "properties.principal.id", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + displayNamePropertiesPrincipalDisplayName: { + serializedName: "properties.principal.displayName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecisionProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionProperties", + modelProperties: { + recommendation: { + serializedName: "recommendation", + readOnly: true, + type: { + name: "String" + } + }, + decision: { + serializedName: "decision", + type: { + name: "String" + } + }, + justification: { + serializedName: "justification", + type: { + name: "String" + } + }, + reviewedDateTime: { + serializedName: "reviewedDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + applyResult: { + serializedName: "applyResult", + readOnly: true, + type: { + name: "String" + } + }, + appliedDateTime: { + serializedName: "appliedDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + }, + insights: { + serializedName: "insights", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight" + } + } + } + }, + membershipTypes: { + serializedName: "principalResourceMembership.membershipTypes", + nullable: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + principalIdAppliedByPrincipalId: { + serializedName: "appliedBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalTypeAppliedByPrincipalType: { + serializedName: "appliedBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalNameAppliedByPrincipalName: { + serializedName: "appliedBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalNameAppliedByUserPrincipalName: { + serializedName: "appliedBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalIdReviewedByPrincipalId: { + serializedName: "reviewedBy.principalId", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalTypeReviewedByPrincipalType: { + serializedName: "reviewedBy.principalType", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + principalNameReviewedByPrincipalName: { + serializedName: "reviewedBy.principalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + userPrincipalNameReviewedByUserPrincipalName: { + serializedName: "reviewedBy.userPrincipalName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + typeResourceType: { + serializedName: "resource.type", + nullable: true, + type: { + name: "String" + } + }, + idResourceId: { + serializedName: "resource.id", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + displayNameResourceDisplayName: { + serializedName: "resource.displayName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + typePrincipalType: { + serializedName: "principal.type", + nullable: true, + type: { + name: "String" + } + }, + idPrincipalId: { + serializedName: "principal.id", + readOnly: true, + nullable: true, + type: { + name: "String" + } + }, + displayNamePrincipalDisplayName: { + serializedName: "principal.displayName", + readOnly: true, + nullable: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecisionIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + }, + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecisionInsight: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionInsight", + 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" + } + }, + typePropertiesType: { + serializedName: "properties.type", + type: { + name: "String" + } + }, + insightCreatedDateTime: { + serializedName: "properties.insightCreatedDateTime", + readOnly: true, + nullable: true, + type: { + name: "any" + } + } + } + } +}; + +export const AccessReviewDecisionInsightProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDecisionInsightProperties", + uberParent: "AccessReviewDecisionInsightProperties", + polymorphicDiscriminator: { + serializedName: "type", + clientName: "type" + }, + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String" + } + }, + insightCreatedDateTime: { + serializedName: "insightCreatedDateTime", + readOnly: true, + nullable: true, + type: { + name: "any" + } + } + } + } +}; + +export const AccessReviewContactedReviewerListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewContactedReviewerListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AccessReviewContactedReviewer" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewContactedReviewer: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewContactedReviewer", + 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" + } + }, + userDisplayName: { + serializedName: "properties.userDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + userPrincipalName: { + serializedName: "properties.userPrincipalName", + readOnly: true, + type: { + name: "String" + } + }, + createdDateTime: { + serializedName: "properties.createdDateTime", + readOnly: true, + nullable: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const AccessReviewDefaultSettings: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AccessReviewDefaultSettings", + 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" + } + }, + mailNotificationsEnabled: { + serializedName: "properties.mailNotificationsEnabled", + type: { + name: "Boolean" + } + }, + reminderNotificationsEnabled: { + serializedName: "properties.reminderNotificationsEnabled", + type: { + name: "Boolean" + } + }, + defaultDecisionEnabled: { + serializedName: "properties.defaultDecisionEnabled", + type: { + name: "Boolean" + } + }, + justificationRequiredOnApproval: { + serializedName: "properties.justificationRequiredOnApproval", + type: { + name: "Boolean" + } + }, + defaultDecision: { + serializedName: "properties.defaultDecision", + type: { + name: "String" + } + }, + autoApplyDecisionsEnabled: { + serializedName: "properties.autoApplyDecisionsEnabled", + type: { + name: "Boolean" + } + }, + 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" + } + }, + numberOfOccurrences: { + serializedName: "properties.recurrence.range.numberOfOccurrences", + type: { + name: "Number" + } + }, + startDate: { + serializedName: "properties.recurrence.range.startDate", + nullable: true, + type: { + name: "DateTime" + } + }, + endDate: { + serializedName: "properties.recurrence.range.endDate", + nullable: true, + type: { + name: "DateTime" + } + }, + typePropertiesRecurrencePatternType: { + serializedName: "properties.recurrence.pattern.type", + type: { + name: "String" + } + }, + interval: { + serializedName: "properties.recurrence.pattern.interval", + type: { + name: "Number" + } + } + } + } +}; + +export const RecordAllDecisionsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RecordAllDecisionsProperties", + modelProperties: { + principalId: { + serializedName: "principalId", + readOnly: true, + type: { + name: "String" + } + }, + resourceId: { + serializedName: "resourceId", + readOnly: true, + type: { + name: "String" + } + }, + decision: { + serializedName: "decision", + type: { + name: "String" + } + }, + justification: { + serializedName: "justification", + type: { + name: "String" + } + } + } + } +}; + +export const EligibleChildResourcesListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EligibleChildResourcesListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "EligibleChildResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const EligibleChildResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "EligibleChildResource", + 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" + } + } + } + } +}; + +export const CloudError: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudError", + modelProperties: { + error: { + serializedName: "error", + type: { + name: "Composite", + className: "CloudErrorBody" + } + } + } + } +}; + +export const CloudErrorBody: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CloudErrorBody", + modelProperties: { + code: { + serializedName: "code", + type: { + name: "String" + } + }, + message: { + serializedName: "message", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentSchedule", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleAssignmentScheduleRequestId: { + serializedName: "properties.roleAssignmentScheduleRequestId", + type: { + name: "String" + } + }, + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", + type: { + name: "String" + } + }, + assignmentType: { + serializedName: "properties.assignmentType", + type: { + name: "String" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + updatedOn: { + serializedName: "properties.updatedOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const ExpandedProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandedProperties", + modelProperties: { + scope: { + serializedName: "scope", + type: { + name: "Composite", + className: "ExpandedPropertiesScope" + } + }, + roleDefinition: { + serializedName: "roleDefinition", + type: { + name: "Composite", + className: "ExpandedPropertiesRoleDefinition" + } + }, + principal: { + serializedName: "principal", + type: { + name: "Composite", + className: "ExpandedPropertiesPrincipal" + } + } + } + } +}; + +export const ExpandedPropertiesScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandedPropertiesScope", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const ExpandedPropertiesRoleDefinition: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandedPropertiesRoleDefinition", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const ExpandedPropertiesPrincipal: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandedPropertiesPrincipal", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + displayName: { + serializedName: "displayName", + type: { + name: "String" + } + }, + email: { + serializedName: "email", + type: { + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleAssignmentSchedule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleInstanceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleInstanceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleAssignmentScheduleInstance" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleInstance", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleAssignmentScheduleId: { + serializedName: "properties.roleAssignmentScheduleId", + type: { + name: "String" + } + }, + originRoleAssignmentId: { + serializedName: "properties.originRoleAssignmentId", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", + type: { + name: "String" + } + }, + linkedRoleEligibilityScheduleInstanceId: { + serializedName: "properties.linkedRoleEligibilityScheduleInstanceId", + type: { + name: "String" + } + }, + assignmentType: { + serializedName: "properties.assignmentType", + type: { + name: "String" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequest", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + 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" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + readOnly: true, + type: { + name: "String" + } + }, + requestType: { + serializedName: "properties.requestType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + approvalId: { + serializedName: "properties.approvalId", + readOnly: true, + type: { + name: "String" + } + }, + targetRoleAssignmentScheduleId: { + serializedName: "properties.targetRoleAssignmentScheduleId", + type: { + name: "String" + } + }, + targetRoleAssignmentScheduleInstanceId: { + serializedName: "properties.targetRoleAssignmentScheduleInstanceId", + type: { + name: "String" + } + }, + scheduleInfo: { + serializedName: "properties.scheduleInfo", + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo" + } + }, + linkedRoleEligibilityScheduleId: { + serializedName: "properties.linkedRoleEligibilityScheduleId", + type: { + name: "String" + } + }, + justification: { + serializedName: "properties.justification", + type: { + name: "String" + } + }, + ticketInfo: { + serializedName: "properties.ticketInfo", + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesTicketInfo" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + requestorId: { + serializedName: "properties.requestorId", + readOnly: true, + type: { + name: "String" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfo", + modelProperties: { + startDateTime: { + serializedName: "startDateTime", + type: { + name: "DateTime" + } + }, + expiration: { + serializedName: "expiration", + type: { + name: "Composite", + className: + "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesScheduleInfoExpiration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" + } + }, + duration: { + serializedName: "duration", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestPropertiesTicketInfo", + modelProperties: { + ticketNumber: { + serializedName: "ticketNumber", + type: { + name: "String" + } + }, + ticketSystem: { + serializedName: "ticketSystem", + type: { + name: "String" + } + } + } + } +}; + +export const RoleAssignmentScheduleRequestListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequestListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleAssignmentScheduleRequest" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilitySchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilitySchedule", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleEligibilityScheduleRequestId: { + serializedName: "properties.roleEligibilityScheduleRequestId", + type: { + name: "String" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + updatedOn: { + serializedName: "properties.updatedOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleEligibilityScheduleListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleEligibilitySchedule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleInstanceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleEligibilityScheduleInstance" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleInstance", + 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" + } + }, + scope: { + serializedName: "properties.scope", + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + type: { + name: "String" + } + }, + roleEligibilityScheduleId: { + serializedName: "properties.roleEligibilityScheduleId", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + startDateTime: { + serializedName: "properties.startDateTime", + type: { + name: "DateTime" + } + }, + endDateTime: { + serializedName: "properties.endDateTime", + type: { + name: "DateTime" + } + }, + memberType: { + serializedName: "properties.memberType", + type: { + name: "String" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + type: { + name: "DateTime" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequest", + 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" + } + }, + scope: { + serializedName: "properties.scope", + readOnly: true, + type: { + name: "String" + } + }, + roleDefinitionId: { + serializedName: "properties.roleDefinitionId", + type: { + name: "String" + } + }, + principalId: { + serializedName: "properties.principalId", + type: { + name: "String" + } + }, + principalType: { + serializedName: "properties.principalType", + readOnly: true, + type: { + name: "String" + } + }, + requestType: { + serializedName: "properties.requestType", + type: { + name: "String" + } + }, + status: { + serializedName: "properties.status", + readOnly: true, + type: { + name: "String" + } + }, + approvalId: { + serializedName: "properties.approvalId", + readOnly: true, + type: { + name: "String" + } + }, + scheduleInfo: { + serializedName: "properties.scheduleInfo", + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo" + } + }, + targetRoleEligibilityScheduleId: { + serializedName: "properties.targetRoleEligibilityScheduleId", + type: { + name: "String" + } + }, + targetRoleEligibilityScheduleInstanceId: { + serializedName: "properties.targetRoleEligibilityScheduleInstanceId", + type: { + name: "String" + } + }, + justification: { + serializedName: "properties.justification", + type: { + name: "String" + } + }, + ticketInfo: { + serializedName: "properties.ticketInfo", + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesTicketInfo" + } + }, + condition: { + serializedName: "properties.condition", + type: { + name: "String" + } + }, + conditionVersion: { + serializedName: "properties.conditionVersion", + type: { + name: "String" + } + }, + createdOn: { + serializedName: "properties.createdOn", + readOnly: true, + type: { + name: "DateTime" + } + }, + requestorId: { + serializedName: "properties.requestorId", + readOnly: true, + type: { + name: "String" + } + }, + expandedProperties: { + serializedName: "properties.expandedProperties", + type: { + name: "Composite", + className: "ExpandedProperties" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo", + modelProperties: { + startDateTime: { + serializedName: "startDateTime", + type: { + name: "DateTime" + } + }, + expiration: { + serializedName: "expiration", + type: { + name: "Composite", + className: + "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + endDateTime: { + serializedName: "endDateTime", + type: { + name: "DateTime" + } + }, + duration: { + serializedName: "duration", + type: { + name: "String" + } } } } }; -export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapper = { +export const RoleEligibilityScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstanceListResult", + className: "RoleEligibilityScheduleRequestPropertiesTicketInfo", + modelProperties: { + ticketNumber: { + serializedName: "ticketNumber", + type: { + name: "String" + } + }, + ticketSystem: { + serializedName: "ticketSystem", + type: { + name: "String" + } + } + } + } +}; + +export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleEligibilityScheduleRequestListResult", modelProperties: { value: { serializedName: "value", @@ -1947,7 +4611,7 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp element: { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance" + className: "RoleEligibilityScheduleRequest" } } } @@ -1962,10 +4626,10 @@ export const RoleEligibilityScheduleInstanceListResult: coreClient.CompositeMapp } }; -export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { +export const RoleManagementPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleInstance", + className: "RoleManagementPolicy", modelProperties: { id: { serializedName: "id", @@ -1994,87 +4658,247 @@ export const RoleEligibilityScheduleInstance: coreClient.CompositeMapper = { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } }, - principalId: { - serializedName: "properties.principalId", + description: { + serializedName: "properties.description", type: { name: "String" } }, - principalType: { - serializedName: "properties.principalType", + isOrganizationDefault: { + serializedName: "properties.isOrganizationDefault", type: { - name: "String" + name: "Boolean" } }, - roleEligibilityScheduleId: { - serializedName: "properties.roleEligibilityScheduleId", + lastModifiedBy: { + serializedName: "properties.lastModifiedBy", + type: { + name: "Composite", + className: "Principal" + } + }, + lastModifiedDateTime: { + serializedName: "properties.lastModifiedDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + rules: { + serializedName: "properties.rules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicyRule" + } + } + } + }, + effectiveRules: { + serializedName: "properties.effectiveRules", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicyRule" + } + } + } + }, + policyProperties: { + serializedName: "properties.policyProperties", + type: { + name: "Composite", + className: "PolicyProperties" + } + } + } + } +}; + +export const RoleManagementPolicyRule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyRule", + uberParent: "RoleManagementPolicyRule", + polymorphicDiscriminator: { + serializedName: "ruleType", + clientName: "ruleType" + }, + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } }, - status: { - serializedName: "properties.status", + ruleType: { + serializedName: "ruleType", + required: true, type: { name: "String" } }, - startDateTime: { - serializedName: "properties.startDateTime", + target: { + serializedName: "target", type: { - name: "DateTime" + name: "Composite", + className: "RoleManagementPolicyRuleTarget" + } + } + } + } +}; + +export const RoleManagementPolicyRuleTarget: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyRuleTarget", + modelProperties: { + caller: { + serializedName: "caller", + type: { + name: "String" } }, - endDateTime: { - serializedName: "properties.endDateTime", + operations: { + serializedName: "operations", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - memberType: { - serializedName: "properties.memberType", + level: { + serializedName: "level", type: { name: "String" } }, - condition: { - serializedName: "properties.condition", + targetObjects: { + serializedName: "targetObjects", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + inheritableSettings: { + serializedName: "inheritableSettings", + type: { + name: "Sequence", + element: { + type: { + 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", + type: { + name: "Composite", + className: "PolicyPropertiesScope" + } + } + } + } +}; + +export const PolicyPropertiesScope: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyPropertiesScope", + modelProperties: { + id: { + serializedName: "id", type: { name: "String" } }, - conditionVersion: { - serializedName: "properties.conditionVersion", + displayName: { + serializedName: "displayName", type: { name: "String" } }, - createdOn: { - serializedName: "properties.createdOn", + type: { + serializedName: "type", + type: { + name: "String" + } + } + } + } +}; + +export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RoleManagementPolicyListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RoleManagementPolicy" + } + } } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + nextLink: { + serializedName: "nextLink", type: { - name: "Composite", - className: "ExpandedProperties" + name: "String" } } } } }; -export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { +export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequest", + className: "RoleManagementPolicyAssignment", modelProperties: { id: { serializedName: "id", @@ -2099,7 +4923,6 @@ export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { }, scope: { serializedName: "properties.scope", - readOnly: true, type: { name: "String" } @@ -2110,150 +4933,99 @@ export const RoleEligibilityScheduleRequest: coreClient.CompositeMapper = { name: "String" } }, - principalId: { - serializedName: "properties.principalId", - type: { - name: "String" - } - }, - principalType: { - serializedName: "properties.principalType", - readOnly: true, - type: { - name: "String" - } - }, - requestType: { - serializedName: "properties.requestType", - type: { - name: "String" - } - }, - status: { - serializedName: "properties.status", - readOnly: true, - type: { - name: "String" - } - }, - approvalId: { - serializedName: "properties.approvalId", - readOnly: true, + policyId: { + serializedName: "properties.policyId", type: { name: "String" } }, - scheduleInfo: { - serializedName: "properties.scheduleInfo", + policyAssignmentProperties: { + serializedName: "properties.policyAssignmentProperties", type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo" - } - }, - targetRoleEligibilityScheduleId: { - serializedName: "properties.targetRoleEligibilityScheduleId", - type: { - name: "String" - } - }, - targetRoleEligibilityScheduleInstanceId: { - serializedName: "properties.targetRoleEligibilityScheduleInstanceId", - type: { - name: "String" - } - }, - justification: { - serializedName: "properties.justification", - type: { - name: "String" + className: "PolicyAssignmentProperties" } - }, - ticketInfo: { - serializedName: "properties.ticketInfo", + } + } + } +}; + +export const PolicyAssignmentProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PolicyAssignmentProperties", + modelProperties: { + scope: { + serializedName: "scope", type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo" - } - }, - condition: { - serializedName: "properties.condition", - type: { - name: "String" - } - }, - conditionVersion: { - serializedName: "properties.conditionVersion", - type: { - name: "String" - } - }, - createdOn: { - serializedName: "properties.createdOn", - readOnly: true, - type: { - name: "DateTime" + className: "PolicyAssignmentPropertiesScope" } }, - requestorId: { - serializedName: "properties.requestorId", - readOnly: true, + roleDefinition: { + serializedName: "roleDefinition", type: { - name: "String" + name: "Composite", + className: "PolicyAssignmentPropertiesRoleDefinition" } }, - expandedProperties: { - serializedName: "properties.expandedProperties", + policy: { + serializedName: "policy", type: { name: "Composite", - className: "ExpandedProperties" + className: "PolicyAssignmentPropertiesPolicy" } } } } }; -export const RoleEligibilityScheduleRequestPropertiesScheduleInfo: coreClient.CompositeMapper = { +export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfo", + className: "PolicyAssignmentPropertiesScope", modelProperties: { - startDateTime: { - serializedName: "startDateTime", + id: { + serializedName: "id", type: { - name: "DateTime" + name: "String" } }, - expiration: { - serializedName: "expiration", + displayName: { + serializedName: "displayName", type: { - name: "Composite", - className: - "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration" + name: "String" + } + }, + type: { + serializedName: "type", + type: { + name: "String" } } } } }; -export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: coreClient.CompositeMapper = { +export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration", + className: "PolicyAssignmentPropertiesRoleDefinition", modelProperties: { - type: { - serializedName: "type", + id: { + serializedName: "id", type: { name: "String" } }, - endDateTime: { - serializedName: "endDateTime", + displayName: { + serializedName: "displayName", type: { - name: "DateTime" + name: "String" } }, - duration: { - serializedName: "duration", + type: { + serializedName: "type", type: { name: "String" } @@ -2262,31 +5034,38 @@ export const RoleEligibilityScheduleRequestPropertiesScheduleInfoExpiration: cor } }; -export const RoleEligibilityScheduleRequestPropertiesTicketInfo: coreClient.CompositeMapper = { +export const PolicyAssignmentPropertiesPolicy: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestPropertiesTicketInfo", + className: "PolicyAssignmentPropertiesPolicy", modelProperties: { - ticketNumber: { - serializedName: "ticketNumber", + id: { + serializedName: "id", type: { name: "String" } }, - ticketSystem: { - serializedName: "ticketSystem", + lastModifiedBy: { + serializedName: "lastModifiedBy", type: { - name: "String" + name: "Composite", + className: "Principal" + } + }, + lastModifiedDateTime: { + serializedName: "lastModifiedDateTime", + type: { + name: "DateTime" } } } } }; -export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMapper = { +export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleEligibilityScheduleRequestListResult", + className: "RoleManagementPolicyAssignmentListResult", modelProperties: { value: { serializedName: "value", @@ -2295,7 +5074,7 @@ export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMappe element: { type: { name: "Composite", - className: "RoleEligibilityScheduleRequest" + className: "RoleManagementPolicyAssignment" } } } @@ -2310,10 +5089,10 @@ export const RoleEligibilityScheduleRequestListResult: coreClient.CompositeMappe } }; -export const RoleManagementPolicy: coreClient.CompositeMapper = { +export const Alert: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicy", + className: "Alert", modelProperties: { id: { serializedName: "id", @@ -2338,33 +5117,22 @@ export const RoleManagementPolicy: coreClient.CompositeMapper = { }, scope: { serializedName: "properties.scope", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - type: { - name: "String" - } - }, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - isOrganizationDefault: { - serializedName: "properties.isOrganizationDefault", + isActive: { + serializedName: "properties.isActive", type: { name: "Boolean" } }, - lastModifiedBy: { - serializedName: "properties.lastModifiedBy", + incidentCount: { + serializedName: "properties.incidentCount", + readOnly: true, type: { - name: "Composite", - className: "Principal" + name: "Number" } }, lastModifiedDateTime: { @@ -2374,176 +5142,165 @@ export const RoleManagementPolicy: coreClient.CompositeMapper = { name: "DateTime" } }, - rules: { - serializedName: "properties.rules", + lastScannedDateTime: { + serializedName: "properties.lastScannedDateTime", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "DateTime" } }, - effectiveRules: { - serializedName: "properties.effectiveRules", + alertDefinition: { + serializedName: "properties.alertDefinition", + type: { + name: "Composite", + className: "AlertDefinition" + } + }, + alertIncidents: { + serializedName: "properties.alertIncidents", readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "RoleManagementPolicyRule" + className: "AlertIncident" } } } }, - policyProperties: { - serializedName: "properties.policyProperties", + alertConfiguration: { + serializedName: "properties.alertConfiguration", type: { name: "Composite", - className: "PolicyProperties" + className: "AlertConfiguration" } } } } }; -export const RoleManagementPolicyRule: coreClient.CompositeMapper = { +export const AlertDefinition: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyRule", - uberParent: "RoleManagementPolicyRule", - polymorphicDiscriminator: { - serializedName: "ruleType", - clientName: "ruleType" - }, + className: "AlertDefinition", modelProperties: { id: { serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - ruleType: { - serializedName: "ruleType", - required: true, + displayName: { + serializedName: "properties.displayName", + readOnly: true, type: { name: "String" } }, - target: { - serializedName: "target", + scope: { + serializedName: "properties.scope", + readOnly: true, type: { - name: "Composite", - className: "RoleManagementPolicyRuleTarget" + name: "String" } - } - } - } -}; - -export const RoleManagementPolicyRuleTarget: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RoleManagementPolicyRuleTarget", - modelProperties: { - caller: { - serializedName: "caller", + }, + description: { + serializedName: "properties.description", + readOnly: true, type: { name: "String" } }, - operations: { - serializedName: "operations", + severityLevel: { + serializedName: "properties.severityLevel", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - level: { - serializedName: "level", + securityImpact: { + serializedName: "properties.securityImpact", + readOnly: true, type: { name: "String" } }, - targetObjects: { - serializedName: "targetObjects", + mitigationSteps: { + serializedName: "properties.mitigationSteps", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - inheritableSettings: { - serializedName: "inheritableSettings", + howToPrevent: { + serializedName: "properties.howToPrevent", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - enforcedSettings: { - serializedName: "enforcedSettings", + isRemediatable: { + serializedName: "properties.isRemediatable", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Boolean" } - } - } - } -}; - -export const PolicyProperties: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PolicyProperties", - modelProperties: { - scope: { - serializedName: "scope", + }, + isConfigurable: { + serializedName: "properties.isConfigurable", + readOnly: true, type: { - name: "Composite", - className: "PolicyPropertiesScope" + name: "Boolean" } } } } }; -export const PolicyPropertiesScope: coreClient.CompositeMapper = { +export const AlertIncident: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyPropertiesScope", + className: "AlertIncident", modelProperties: { id: { serializedName: "id", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + name: { + serializedName: "name", + readOnly: true, type: { name: "String" } }, type: { serializedName: "type", + readOnly: true, + type: { + name: "String" + } + }, + alertIncidentType: { + serializedName: "properties.alertIncidentType", type: { name: "String" } @@ -2552,25 +5309,19 @@ export const PolicyPropertiesScope: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { +export const AlertIncidentProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyListResult", + className: "AlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: { + serializedName: "alertIncidentType", + clientName: "alertIncidentType" + }, modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicy" - } - } - } - }, - nextLink: { - serializedName: "nextLink", + alertIncidentType: { + serializedName: "alertIncidentType", + required: true, type: { name: "String" } @@ -2579,10 +5330,10 @@ export const RoleManagementPolicyListResult: coreClient.CompositeMapper = { } }; -export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { +export const AlertConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyAssignment", + className: "AlertConfiguration", modelProperties: { id: { serializedName: "id", @@ -2605,97 +5356,110 @@ export const RoleManagementPolicyAssignment: coreClient.CompositeMapper = { name: "String" } }, - scope: { - serializedName: "properties.scope", + alertDefinitionId: { + serializedName: "properties.alertDefinitionId", + readOnly: true, type: { name: "String" } }, - roleDefinitionId: { - serializedName: "properties.roleDefinitionId", + scope: { + serializedName: "properties.scope", + readOnly: true, type: { name: "String" } }, - policyId: { - serializedName: "properties.policyId", + isEnabled: { + serializedName: "properties.isEnabled", type: { - name: "String" + name: "Boolean" } }, - effectiveRules: { - serializedName: "properties.effectiveRules", - readOnly: true, + alertConfigurationType: { + serializedName: "properties.alertConfigurationType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RoleManagementPolicyRule" - } - } + name: "String" } }, - policyAssignmentProperties: { - serializedName: "properties.policyAssignmentProperties", + alertDefinition: { + serializedName: "properties.alertDefinition", type: { name: "Composite", - className: "PolicyAssignmentProperties" + className: "AlertDefinition" } } } } }; -export const PolicyAssignmentProperties: coreClient.CompositeMapper = { +export const AlertConfigurationProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentProperties", + className: "AlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: { + serializedName: "alertConfigurationType", + clientName: "alertConfigurationType" + }, modelProperties: { + alertDefinitionId: { + serializedName: "alertDefinitionId", + readOnly: true, + type: { + name: "String" + } + }, scope: { serializedName: "scope", + readOnly: true, type: { - name: "Composite", - className: "PolicyAssignmentPropertiesScope" + name: "String" } }, - roleDefinition: { - serializedName: "roleDefinition", + isEnabled: { + serializedName: "isEnabled", type: { - name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition" + name: "Boolean" } }, - policy: { - serializedName: "policy", + alertConfigurationType: { + serializedName: "alertConfigurationType", + required: true, + type: { + name: "String" + } + }, + alertDefinition: { + serializedName: "alertDefinition", type: { name: "Composite", - className: "PolicyAssignmentPropertiesPolicy" + className: "AlertDefinition" } } } } }; -export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { +export const AlertListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentPropertiesScope", + className: "AlertListResult", modelProperties: { - id: { - serializedName: "id", - type: { - name: "String" - } - }, - displayName: { - serializedName: "displayName", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Alert" + } + } } }, - type: { - serializedName: "type", + nextLink: { + serializedName: "nextLink", type: { name: "String" } @@ -2704,25 +5468,49 @@ export const PolicyAssignmentPropertiesScope: coreClient.CompositeMapper = { } }; -export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMapper = { +export const AlertOperationResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentPropertiesRoleDefinition", + className: "AlertOperationResult", modelProperties: { id: { serializedName: "id", + readOnly: true, type: { name: "String" } }, - displayName: { - serializedName: "displayName", + status: { + serializedName: "status", + readOnly: true, type: { name: "String" } }, - type: { - serializedName: "type", + statusDetail: { + serializedName: "statusDetail", + readOnly: true, + type: { + name: "String" + } + }, + createdDateTime: { + serializedName: "createdDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + lastActionDateTime: { + serializedName: "lastActionDateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + resourceLocation: { + serializedName: "resourceLocation", + readOnly: true, type: { name: "String" } @@ -2731,38 +5519,64 @@ export const PolicyAssignmentPropertiesRoleDefinition: coreClient.CompositeMappe } }; -export const PolicyAssignmentPropertiesPolicy: coreClient.CompositeMapper = { +export const AlertConfigurationListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PolicyAssignmentPropertiesPolicy", + className: "AlertConfigurationListResult", modelProperties: { - id: { - serializedName: "id", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertConfiguration" + } + } } }, - lastModifiedBy: { - serializedName: "lastModifiedBy", + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; + +export const AlertDefinitionListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertDefinitionListResult", + modelProperties: { + value: { + serializedName: "value", type: { - name: "Composite", - className: "Principal" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "AlertDefinition" + } + } } }, - lastModifiedDateTime: { - serializedName: "lastModifiedDateTime", + nextLink: { + serializedName: "nextLink", type: { - name: "DateTime" + name: "String" } } } } }; -export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMapper = { +export const AlertIncidentListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "RoleManagementPolicyAssignmentListResult", + className: "AlertIncidentListResult", modelProperties: { value: { serializedName: "value", @@ -2771,7 +5585,7 @@ export const RoleManagementPolicyAssignmentListResult: coreClient.CompositeMappe element: { type: { name: "Composite", - className: "RoleManagementPolicyAssignment" + className: "AlertIncident" } } } @@ -3216,6 +6030,70 @@ export const RoleEligibilityScheduleRequestFilter: coreClient.CompositeMapper = } }; +export const AccessReviewDecisionUserIdentity: coreClient.CompositeMapper = { + serializedName: "user", + type: { + name: "Composite", + className: "AccessReviewDecisionUserIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: + AccessReviewDecisionIdentity.type.polymorphicDiscriminator, + modelProperties: { + ...AccessReviewDecisionIdentity.type.modelProperties, + userPrincipalName: { + serializedName: "userPrincipalName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AccessReviewDecisionServicePrincipalIdentity: coreClient.CompositeMapper = { + serializedName: "servicePrincipal", + type: { + name: "Composite", + className: "AccessReviewDecisionServicePrincipalIdentity", + uberParent: "AccessReviewDecisionIdentity", + polymorphicDiscriminator: + AccessReviewDecisionIdentity.type.polymorphicDiscriminator, + modelProperties: { + ...AccessReviewDecisionIdentity.type.modelProperties, + appId: { + serializedName: "appId", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +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: "any" + } + } + } + } +}; + export const RoleManagementPolicyApprovalRule: coreClient.CompositeMapper = { serializedName: "RoleManagementPolicyApprovalRule", type: { @@ -3363,11 +6241,313 @@ export const RoleManagementPolicyNotificationRule: coreClient.CompositeMapper = } }; +export const AzureRolesAssignedOutsidePimAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertIncident", + type: { + name: "Composite", + className: "AzureRolesAssignedOutsidePimAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertIncidentProperties.type.modelProperties, + assigneeDisplayName: { + serializedName: "assigneeDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + assigneeUserPrincipalName: { + serializedName: "assigneeUserPrincipalName", + readOnly: true, + type: { + name: "String" + } + }, + assigneeId: { + serializedName: "assigneeId", + readOnly: true, + type: { + name: "String" + } + }, + roleDisplayName: { + serializedName: "roleDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + 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" + } + }, + requestorDisplayName: { + serializedName: "requestorDisplayName", + readOnly: true, + type: { + name: "String" + } + }, + requestorUserPrincipalName: { + serializedName: "requestorUserPrincipalName", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const DuplicateRoleCreatedAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertIncident", + type: { + name: "Composite", + className: "DuplicateRoleCreatedAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertIncidentProperties.type.modelProperties, + roleName: { + serializedName: "roleName", + readOnly: true, + type: { + name: "String" + } + }, + duplicateRoles: { + serializedName: "duplicateRoles", + readOnly: true, + type: { + name: "String" + } + }, + reason: { + serializedName: "reason", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TooManyOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertIncident", + type: { + name: "Composite", + className: "TooManyOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, + type: { + name: "String" + } + }, + assigneeType: { + serializedName: "assigneeType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertIncident", + type: { + name: "Composite", + className: + "TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties", + uberParent: "AlertIncidentProperties", + polymorphicDiscriminator: + AlertIncidentProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertIncidentProperties.type.modelProperties, + assigneeName: { + serializedName: "assigneeName", + readOnly: true, + type: { + name: "String" + } + }, + assigneeType: { + serializedName: "assigneeType", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const AzureRolesAssignedOutsidePimAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "AzureRolesAssignedOutsidePimAlertConfiguration", + type: { + name: "Composite", + className: "AzureRolesAssignedOutsidePimAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: + AlertConfigurationProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertConfigurationProperties.type.modelProperties + } + } +}; + +export const DuplicateRoleCreatedAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "DuplicateRoleCreatedAlertConfiguration", + type: { + name: "Composite", + className: "DuplicateRoleCreatedAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: + AlertConfigurationProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertConfigurationProperties.type.modelProperties + } + } +}; + +export const TooManyOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyOwnersAssignedToResourceAlertConfiguration", + type: { + name: "Composite", + className: "TooManyOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: + AlertConfigurationProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfOwners: { + serializedName: "thresholdNumberOfOwners", + type: { + name: "Number" + } + }, + thresholdPercentageOfOwnersOutOfAllRoleMembers: { + serializedName: "thresholdPercentageOfOwnersOutOfAllRoleMembers", + type: { + name: "Number" + } + } + } + } +}; + +export const TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties: coreClient.CompositeMapper = { + serializedName: "TooManyPermanentOwnersAssignedToResourceAlertConfiguration", + type: { + name: "Composite", + className: + "TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties", + uberParent: "AlertConfigurationProperties", + polymorphicDiscriminator: + AlertConfigurationProperties.type.polymorphicDiscriminator, + modelProperties: { + ...AlertConfigurationProperties.type.modelProperties, + thresholdNumberOfPermanentOwners: { + serializedName: "thresholdNumberOfPermanentOwners", + type: { + name: "Number" + } + }, + thresholdPercentageOfPermanentOwnersOutOfAllOwners: { + serializedName: "thresholdPercentageOfPermanentOwnersOutOfAllOwners", + type: { + name: "Number" + } + } + } + } +}; + +export const AlertsRefreshHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertsRefreshHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const AlertsRefreshAllHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AlertsRefreshAllHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + export let discriminators = { + AccessReviewDecisionIdentity: AccessReviewDecisionIdentity, + AccessReviewDecisionInsightProperties: AccessReviewDecisionInsightProperties, RoleManagementPolicyRule: RoleManagementPolicyRule, + AlertIncidentProperties: AlertIncidentProperties, + AlertConfigurationProperties: AlertConfigurationProperties, + "AccessReviewDecisionIdentity.user": AccessReviewDecisionUserIdentity, + "AccessReviewDecisionIdentity.servicePrincipal": AccessReviewDecisionServicePrincipalIdentity, + "AccessReviewDecisionInsightProperties.userSignInInsight": AccessReviewDecisionUserSignInInsightProperties, "RoleManagementPolicyRule.RoleManagementPolicyApprovalRule": RoleManagementPolicyApprovalRule, "RoleManagementPolicyRule.RoleManagementPolicyAuthenticationContextRule": RoleManagementPolicyAuthenticationContextRule, "RoleManagementPolicyRule.RoleManagementPolicyEnablementRule": RoleManagementPolicyEnablementRule, "RoleManagementPolicyRule.RoleManagementPolicyExpirationRule": RoleManagementPolicyExpirationRule, - "RoleManagementPolicyRule.RoleManagementPolicyNotificationRule": RoleManagementPolicyNotificationRule + "RoleManagementPolicyRule.RoleManagementPolicyNotificationRule": RoleManagementPolicyNotificationRule, + "AlertIncidentProperties.AzureRolesAssignedOutsidePimAlertIncident": AzureRolesAssignedOutsidePimAlertIncidentProperties, + "AlertIncidentProperties.DuplicateRoleCreatedAlertIncident": DuplicateRoleCreatedAlertIncidentProperties, + "AlertIncidentProperties.TooManyOwnersAssignedToResourceAlertIncident": TooManyOwnersAssignedToResourceAlertIncidentProperties, + "AlertIncidentProperties.TooManyPermanentOwnersAssignedToResourceAlertIncident": TooManyPermanentOwnersAssignedToResourceAlertIncidentProperties, + "AlertConfigurationProperties.AzureRolesAssignedOutsidePimAlertConfiguration": AzureRolesAssignedOutsidePimAlertConfigurationProperties, + "AlertConfigurationProperties.DuplicateRoleCreatedAlertConfiguration": DuplicateRoleCreatedAlertConfigurationProperties, + "AlertConfigurationProperties.TooManyOwnersAssignedToResourceAlertConfiguration": TooManyOwnersAssignedToResourceAlertConfigurationProperties, + "AlertConfigurationProperties.TooManyPermanentOwnersAssignedToResourceAlertConfiguration": TooManyPermanentOwnersAssignedToResourceAlertConfigurationProperties }; diff --git a/sdk/authorization/arm-authorization/src/models/parameters.ts b/sdk/authorization/arm-authorization/src/models/parameters.ts index e2537883c77c..9dfa833b423e 100644 --- a/sdk/authorization/arm-authorization/src/models/parameters.ts +++ b/sdk/authorization/arm-authorization/src/models/parameters.ts @@ -14,10 +14,18 @@ import { import { RoleAssignmentCreateParameters as RoleAssignmentCreateParametersMapper, RoleDefinition as RoleDefinitionMapper, + AccessReviewHistoryDefinitionProperties as AccessReviewHistoryDefinitionPropertiesMapper, + AccessReviewScheduleDefinitionProperties as AccessReviewScheduleDefinitionPropertiesMapper, + AccessReviewInstanceProperties as AccessReviewInstancePropertiesMapper, + AccessReviewScheduleSettings as AccessReviewScheduleSettingsMapper, + RecordAllDecisionsProperties as RecordAllDecisionsPropertiesMapper, + AccessReviewDecisionProperties as AccessReviewDecisionPropertiesMapper, RoleAssignmentScheduleRequest as RoleAssignmentScheduleRequestMapper, RoleEligibilityScheduleRequest as RoleEligibilityScheduleRequestMapper, RoleManagementPolicy as RoleManagementPolicyMapper, - RoleManagementPolicyAssignment as RoleManagementPolicyAssignmentMapper + RoleManagementPolicyAssignment as RoleManagementPolicyAssignmentMapper, + Alert as AlertMapper, + AlertConfiguration as AlertConfigurationMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -297,6 +305,32 @@ export const roleAssignmentId: OperationURLParameter = { skipEncoding: true }; +export const apiVersion2: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-05-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const resourceName2: OperationURLParameter = { + parameterPath: "resourceName", + mapper: { + constraints: { + Pattern: new RegExp(".+") + }, + serializedName: "resourceName", + required: true, + type: { + name: "String" + } + } +}; + export const roleDefinitionId: OperationURLParameter = { parameterPath: "roleDefinitionId", mapper: { @@ -325,10 +359,118 @@ export const roleId: OperationURLParameter = { skipEncoding: true }; -export const apiVersion2: OperationQueryParameter = { +export const apiVersion3: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2021-12-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const historyDefinitionId: OperationURLParameter = { + parameterPath: "historyDefinitionId", + mapper: { + serializedName: "historyDefinitionId", + required: true, + type: { + name: "String" + } + } +}; + +export const properties: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewHistoryDefinitionPropertiesMapper +}; + +export const instanceId: OperationURLParameter = { + parameterPath: "instanceId", + mapper: { + serializedName: "instanceId", + required: true, + type: { + name: "String" + } + } +}; + +export const scheduleDefinitionId: OperationURLParameter = { + parameterPath: "scheduleDefinitionId", + mapper: { + serializedName: "scheduleDefinitionId", + required: true, + type: { + name: "String" + } + } +}; + +export const properties1: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleDefinitionPropertiesMapper +}; + +export const id: OperationURLParameter = { + parameterPath: "id", + mapper: { + serializedName: "id", + required: true, + type: { + name: "String" + } + } +}; + +export const properties2: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewInstancePropertiesMapper +}; + +export const properties3: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewScheduleSettingsMapper +}; + +export const scope1: OperationURLParameter = { + parameterPath: "scope", + mapper: { + serializedName: "scope", + required: true, + type: { + name: "String" + } + } +}; + +export const properties4: OperationParameter = { + parameterPath: "properties", + mapper: RecordAllDecisionsPropertiesMapper +}; + +export const decisionId: OperationURLParameter = { + parameterPath: "decisionId", + mapper: { + serializedName: "decisionId", + required: true, + type: { + name: "String" + } + } +}; + +export const properties5: OperationParameter = { + parameterPath: "properties", + mapper: AccessReviewDecisionPropertiesMapper +}; + +export const apiVersion4: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2020-10-01", + defaultValue: "2020-10-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -375,6 +517,18 @@ export const roleAssignmentScheduleRequestName: OperationURLParameter = { } }; +export const apiVersion5: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-04-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + export const roleEligibilityScheduleName: OperationURLParameter = { parameterPath: "roleEligibilityScheduleName", mapper: { @@ -444,3 +598,73 @@ export const parameters4: OperationParameter = { parameterPath: "parameters", mapper: RoleManagementPolicyAssignmentMapper }; + +export const alertId: OperationURLParameter = { + parameterPath: "alertId", + mapper: { + serializedName: "alertId", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const apiVersion6: OperationQueryParameter = { + parameterPath: "apiVersion", + mapper: { + defaultValue: "2022-08-01-preview", + isConstant: true, + serializedName: "api-version", + type: { + name: "String" + } + } +}; + +export const parameters5: OperationParameter = { + parameterPath: "parameters", + mapper: AlertMapper +}; + +export const parameters6: OperationParameter = { + parameterPath: "parameters", + mapper: AlertConfigurationMapper +}; + +export const alertDefinitionId: OperationURLParameter = { + parameterPath: "alertDefinitionId", + mapper: { + serializedName: "alertDefinitionId", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const alertIncidentId: OperationURLParameter = { + parameterPath: "alertIncidentId", + mapper: { + serializedName: "alertIncidentId", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; + +export const operationId: OperationURLParameter = { + parameterPath: "operationId", + mapper: { + serializedName: "operationId", + required: true, + type: { + name: "String" + } + }, + skipEncoding: true +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewDefaultSettingsOperations.ts new file mode 100644 index 000000000000..2ef786a7116c --- /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.apiVersion3], + 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.apiVersion3], + 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..cf18d8d58a18 --- /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.apiVersion3], + 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..98d6e2bfcc3f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,178 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewHistoryDefinitionInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryInstance, + AccessReviewHistoryDefinitionInstancesListNextOptionalParams, + AccessReviewHistoryDefinitionInstancesListOptionalParams, + AccessReviewHistoryDefinitionInstancesListResponse, + AccessReviewHistoryDefinitionInstancesListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewHistoryDefinitionInstances operations. */ +export class AccessReviewHistoryDefinitionInstancesImpl + implements AccessReviewHistoryDefinitionInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitionInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + public list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(historyDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(historyDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewHistoryDefinitionInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(historyDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + historyDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + private _list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param historyDefinitionId The id of the access review history definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + historyDefinitionId: string, + nextLink: string, + options?: AccessReviewHistoryDefinitionInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + 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..3f9a3b3198fc --- /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.apiVersion3], + 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.apiVersion3], + 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..0fe5c5d276a0 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewHistoryDefinitions.ts @@ -0,0 +1,195 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewHistoryDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinition, + AccessReviewHistoryDefinitionsListNextOptionalParams, + AccessReviewHistoryDefinitionsListOptionalParams, + AccessReviewHistoryDefinitionsListResponse, + AccessReviewHistoryDefinitionsGetByIdOptionalParams, + AccessReviewHistoryDefinitionsGetByIdResponse, + AccessReviewHistoryDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewHistoryDefinitions operations. */ +export class AccessReviewHistoryDefinitionsImpl + implements AccessReviewHistoryDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewHistoryDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + public list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewHistoryDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewHistoryDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + private _list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Get access review history definition by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { historyDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: AccessReviewHistoryDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.historyDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + 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..fcdc500a6328 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceContactedReviewers.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + AccessReviewInstanceContactedReviewersListNextOptionalParams, + AccessReviewInstanceContactedReviewersListOptionalParams, + AccessReviewInstanceContactedReviewersListResponse, + AccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceContactedReviewers operations. */ +export class AccessReviewInstanceContactedReviewersImpl + implements AccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + 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..d49ce13cf351 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceDecisions.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + AccessReviewInstanceDecisionsListNextOptionalParams, + AccessReviewInstanceDecisionsListOptionalParams, + AccessReviewInstanceDecisionsListResponse, + AccessReviewInstanceDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceDecisions operations. */ +export class AccessReviewInstanceDecisionsImpl + implements AccessReviewInstanceDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance decisions + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance decisions + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + 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..5a9808f2160a --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceMyDecisions.ts @@ -0,0 +1,279 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstanceMyDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + AccessReviewInstanceMyDecisionsListNextOptionalParams, + AccessReviewInstanceMyDecisionsListOptionalParams, + AccessReviewInstanceMyDecisionsListResponse, + AccessReviewInstanceMyDecisionsGetByIdOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdResponse, + AccessReviewDecisionProperties, + AccessReviewInstanceMyDecisionsPatchOptionalParams, + AccessReviewInstanceMyDecisionsPatchResponse, + AccessReviewInstanceMyDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstanceMyDecisions operations. */ +export class AccessReviewInstanceMyDecisionsImpl + implements AccessReviewInstanceMyDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstanceMyDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get my access review instance decisions. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstanceMyDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get my access review instance decisions. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * Get my single access review instance decision. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + decisionId: string, + options?: AccessReviewInstanceMyDecisionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, decisionId, options }, + getByIdOperationSpec + ); + } + + /** + * Record a decision. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param options The options parameters. + */ + patch( + scheduleDefinitionId: string, + id: string, + decisionId: string, + properties: AccessReviewDecisionProperties, + options?: AccessReviewInstanceMyDecisionsPatchOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, decisionId, properties, options }, + patchOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: AccessReviewInstanceMyDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.decisionId + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewInstanceOperations.ts new file mode 100644 index 000000000000..ed2432eb8826 --- /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.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + 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..7710e6ce22b6 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstances.ts @@ -0,0 +1,264 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + AccessReviewInstancesListNextOptionalParams, + AccessReviewInstancesListOptionalParams, + AccessReviewInstancesListResponse, + AccessReviewInstancesGetByIdOptionalParams, + AccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + AccessReviewInstancesCreateOptionalParams, + AccessReviewInstancesCreateResponse, + AccessReviewInstancesListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstances operations. */ +export class AccessReviewInstancesImpl implements AccessReviewInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * Update access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: AccessReviewInstancesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, properties, options }, + createOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + nextLink: string, + options?: AccessReviewInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink, + 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..bc1bcf0a8c4a --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewInstancesAssignedForMyApproval.ts @@ -0,0 +1,213 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewInstancesAssignedForMyApproval } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams, + AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + AccessReviewInstancesAssignedForMyApprovalListResponse, + AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdResponse, + AccessReviewInstancesAssignedForMyApprovalListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewInstancesAssignedForMyApproval operations. */ +export class AccessReviewInstancesAssignedForMyApprovalImpl + implements AccessReviewInstancesAssignedForMyApproval { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewInstancesAssignedForMyApproval class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewInstancesAssignedForMyApprovalListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * Get single access review instance assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + nextLink: string, + options?: AccessReviewInstancesAssignedForMyApprovalListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..139909d185a0 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitions.ts @@ -0,0 +1,307 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AccessReviewScheduleDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsListNextOptionalParams, + AccessReviewScheduleDefinitionsListOptionalParams, + AccessReviewScheduleDefinitionsListResponse, + AccessReviewScheduleDefinitionsGetByIdOptionalParams, + AccessReviewScheduleDefinitionsGetByIdResponse, + AccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + AccessReviewScheduleDefinitionsStopOptionalParams, + AccessReviewScheduleDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing AccessReviewScheduleDefinitions operations. */ +export class AccessReviewScheduleDefinitionsImpl + implements AccessReviewScheduleDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AccessReviewScheduleDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + public list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewScheduleDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewScheduleDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(options)) { + yield* page; + } + } + + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + private _list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest({ options }, listOperationSpec); + } + + /** + * Get single access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * Delete access review schedule definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + deleteByIdOperationSpec + ); + } + + /** + * Create or Update access review schedule definition. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, properties, options }, + createOrUpdateByIdOperationSpec + ); + } + + /** + * Stop access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, options }, + stopOperationSpec + ); + } + + /** + * ListNext + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + nextLink: string, + options?: AccessReviewScheduleDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.scheduleDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.nextLink + ], + 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..96c59ce15ab2 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/accessReviewScheduleDefinitionsAssignedForMyApproval.ts @@ -0,0 +1,152 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { 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: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AccessReviewScheduleDefinitionsAssignedForMyApprovalListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: 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.filter1, Parameters.apiVersion3], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink], + 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..92d64fedd99d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertConfigurations.ts @@ -0,0 +1,240 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AlertConfigurations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertConfiguration, + AlertConfigurationsListForScopeNextOptionalParams, + AlertConfigurationsListForScopeOptionalParams, + AlertConfigurationsListForScopeResponse, + AlertConfigurationsGetOptionalParams, + AlertConfigurationsGetResponse, + AlertConfigurationsUpdateOptionalParams, + AlertConfigurationsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing AlertConfigurations operations. */ +export class AlertConfigurationsImpl implements AlertConfigurations { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertConfigurations class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertConfigurationsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified alert configuration. + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertConfigurationsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + getOperationSpec + ); + } + + /** + * Update an alert configuration. + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: AlertConfiguration, + options?: AlertConfigurationsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, parameters, options }, + updateOperationSpec + ); + } + + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert configuration. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: AlertConfigurationsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertConfigurations/{alertId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertConfiguration + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.parameters6, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertConfigurationListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts new file mode 100644 index 000000000000..70280df223f5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertDefinitions.ts @@ -0,0 +1,207 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AlertDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertDefinition, + AlertDefinitionsListForScopeNextOptionalParams, + AlertDefinitionsListForScopeOptionalParams, + AlertDefinitionsListForScopeResponse, + AlertDefinitionsGetOptionalParams, + AlertDefinitionsGetResponse, + AlertDefinitionsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing AlertDefinitions operations. */ +export class AlertDefinitionsImpl implements AlertDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * 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?: AlertDefinitionsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertDefinitionsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertDefinitionsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: AlertDefinitionsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * 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 { + return this.client.sendOperationRequest( + { scope, alertDefinitionId, options }, + getOperationSpec + ); + } + + /** + * 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?: AlertDefinitionsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * ListForScopeNext + * @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?: AlertDefinitionsListForScopeNextOptionalParams + ): 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/roleManagementAlertDefinitions/{alertDefinitionId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertDefinition + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.alertDefinitionId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertDefinitionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertDefinitionListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + 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..55e160cf5d5a --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertIncidents.ts @@ -0,0 +1,272 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AlertIncidents } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertIncident, + AlertIncidentsListForScopeNextOptionalParams, + AlertIncidentsListForScopeOptionalParams, + AlertIncidentsListForScopeResponse, + AlertIncidentsGetOptionalParams, + AlertIncidentsGetResponse, + AlertIncidentsRemediateOptionalParams, + AlertIncidentsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing AlertIncidents operations. */ +export class AlertIncidentsImpl implements AlertIncidents { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertIncidents class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + public listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, alertId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, alertId, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertIncidentsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, alertId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext( + scope, + alertId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage( + scope, + alertId, + options + )) { + yield* page; + } + } + + /** + * Get the specified alert incident. + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, alertIncidentId, options }, + getOperationSpec + ); + } + + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + listForScopeOperationSpec + ); + } + + /** + * Remediate an alert incident. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @param options The options parameters. + */ + remediate( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsRemediateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, alertIncidentId, options }, + remediateOperationSpec + ); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + alertId: string, + nextLink: string, + options?: AlertIncidentsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}/alertIncidents/{alertIncidentId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertIncident + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [ + Parameters.$host, + Parameters.scope, + 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.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.apiVersion6], + urlParameters: [ + Parameters.$host, + Parameters.scope, + Parameters.alertId, + Parameters.alertIncidentId + ], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertIncidentListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scope, + 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..e8e5ebc2aa85 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alertOperation.ts @@ -0,0 +1,67 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { AlertOperation } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AlertOperationGetOptionalParams, + AlertOperationGetResponse +} from "../models"; + +/** Class containing AlertOperation operations. */ +export class AlertOperationImpl implements AlertOperation { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class AlertOperation class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get the specified alert operation. + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @param options The options parameters. + */ + get( + scope: string, + operationId: string, + options?: AlertOperationGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, operationId, options }, + getOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlertOperations/{operationId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertOperationResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, Parameters.operationId], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/alerts.ts b/sdk/authorization/arm-authorization/src/operations/alerts.ts new file mode 100644 index 000000000000..fff626310aa2 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/alerts.ts @@ -0,0 +1,478 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { Alerts } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + SimplePollerLike, + OperationState, + createHttpPoller +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + Alert, + AlertsListForScopeNextOptionalParams, + AlertsListForScopeOptionalParams, + AlertsListForScopeResponse, + AlertsGetOptionalParams, + AlertsGetResponse, + AlertsUpdateOptionalParams, + AlertsRefreshOptionalParams, + AlertsRefreshResponse, + AlertsRefreshAllOptionalParams, + AlertsRefreshAllResponse, + AlertsListForScopeNextResponse +} from "../models"; + +/// +/** Class containing Alerts operations. */ +export class AlertsImpl implements Alerts { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class Alerts class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + public listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listForScopePagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listForScopePagingPage(scope, options, settings); + } + }; + } + + private async *listForScopePagingPage( + scope: string, + options?: AlertsListForScopeOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AlertsListForScopeResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listForScope(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listForScopeNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listForScopePagingAll( + scope: string, + options?: AlertsListForScopeOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listForScopePagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get the specified alert. + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertsGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, options }, + getOperationSpec + ); + } + + /** + * Update an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: Alert, + options?: AlertsUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, alertId, parameters, options }, + updateOperationSpec + ); + } + + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + private _listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listForScopeOperationSpec + ); + } + + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + async beginRefresh( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { scope, alertId, options }, + spec: refreshOperationSpec + }); + const poller = await createHttpPoller< + AlertsRefreshResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + async beginRefreshAndWait( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise { + const poller = await this.beginRefresh(scope, alertId, options); + return poller.pollUntilDone(); + } + + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + async beginRefreshAll( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshAllResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec + ) => { + let currentRawResponse: + | coreClient.FullOperationResponse + | undefined = undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback + } + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON() + } + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { scope, options }, + spec: refreshAllOperationSpec + }); + const poller = await createHttpPoller< + AlertsRefreshAllResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location" + }); + await poller.poll(); + return poller; + } + + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + async beginRefreshAllAndWait( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise { + const poller = await this.beginRefreshAll(scope, options); + return poller.pollUntilDone(); + } + + /** + * ListForScopeNext + * @param scope The scope of the alert. + * @param nextLink The nextLink from the previous successful call to the ListForScope method. + * @param options The options parameters. + */ + private _listForScopeNext( + scope: string, + nextLink: string, + options?: AlertsListForScopeNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listForScopeNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/roleManagementAlerts/{alertId}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.Alert + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.parameters5, + queryParameters: [Parameters.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope], + 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.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope, 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.apiVersion6], + urlParameters: [Parameters.$host, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; +const listForScopeNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AlertListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts b/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts index 1625c78a74ae..0c20ecae0383 100644 --- a/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts +++ b/sdk/authorization/arm-authorization/src/operations/eligibleChildResources.ts @@ -138,7 +138,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/index.ts b/sdk/authorization/arm-authorization/src/operations/index.ts index e33e8ff3e2a0..6478abca602a 100644 --- a/sdk/authorization/arm-authorization/src/operations/index.ts +++ b/sdk/authorization/arm-authorization/src/operations/index.ts @@ -13,6 +13,31 @@ export * from "./providerOperationsMetadataOperations"; export * from "./roleAssignments"; export * from "./permissions"; export * from "./roleDefinitions"; +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 "./eligibleChildResources"; export * from "./roleAssignmentSchedules"; export * from "./roleAssignmentScheduleInstances"; @@ -22,3 +47,8 @@ export * from "./roleEligibilityScheduleInstances"; export * from "./roleEligibilityScheduleRequests"; export * from "./roleManagementPolicies"; export * from "./roleManagementPolicyAssignments"; +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..f1a2c9cd24ab --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/operations.ts @@ -0,0 +1,149 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { 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: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(options, settings); + } + }; + } + + private async *listPagingPage( + options?: OperationsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: OperationsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + options?: 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.apiVersion3], + urlParameters: [Parameters.$host], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.OperationListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operations/permissions.ts b/sdk/authorization/arm-authorization/src/operations/permissions.ts index 94a36834f2cf..f3b3a7c39c40 100644 --- a/sdk/authorization/arm-authorization/src/operations/permissions.ts +++ b/sdk/authorization/arm-authorization/src/operations/permissions.ts @@ -328,7 +328,7 @@ const listForResourceGroupOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -349,7 +349,7 @@ const listForResourceOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.subscriptionId, @@ -357,7 +357,7 @@ const listForResourceOperationSpec: coreClient.OperationSpec = { Parameters.resourceProviderNamespace, Parameters.parentResourcePath, Parameters.resourceType, - Parameters.resourceName + Parameters.resourceName2 ], headerParameters: [Parameters.accept], serializer @@ -401,7 +401,7 @@ const listForResourceNextOperationSpec: coreClient.OperationSpec = { Parameters.resourceProviderNamespace, Parameters.parentResourcePath, Parameters.resourceType, - Parameters.resourceName + Parameters.resourceName2 ], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts index 7a6e1564e7e8..09869ff70a66 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleInstances.ts @@ -160,7 +160,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -177,7 +177,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts index e68830a92424..cc83fddd0fc8 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentScheduleRequests.ts @@ -103,9 +103,11 @@ export class RoleAssignmentScheduleRequestsImpl /** * Creates a role assignment schedule request. * @param scope The scope of the role assignment schedule request to create. The scope can be any REST - * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' * for a resource. * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be * unique and different for each role assignment. @@ -226,7 +228,7 @@ const createOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -248,7 +250,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -269,7 +271,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion5], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -284,7 +286,7 @@ const cancelOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -306,7 +308,7 @@ const validateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters1, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, diff --git a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts b/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts index 32b38493aac7..79eec82f8018 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleAssignmentSchedules.ts @@ -158,7 +158,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -178,7 +178,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts b/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts index 35f5dd01b117..0971f8bb42ab 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleDefinitions.ts @@ -44,7 +44,10 @@ export class RoleDefinitionsImpl implements RoleDefinitions { /** * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. + * @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 list( @@ -102,7 +105,10 @@ export class RoleDefinitionsImpl implements RoleDefinitions { /** * Deletes a role definition. - * @param scope The scope of the role definition. + * @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 roleDefinitionId The ID of the role definition to delete. * @param options The options parameters. */ @@ -118,8 +124,11 @@ export class RoleDefinitionsImpl implements RoleDefinitions { } /** - * Get role definition by name (GUID). - * @param scope The scope of the role definition. + * Get role definition by ID (GUID). + * @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 roleDefinitionId The ID of the role definition. * @param options The options parameters. */ @@ -136,7 +145,10 @@ export class RoleDefinitionsImpl implements RoleDefinitions { /** * Creates or updates a role definition. - * @param scope The scope of the role definition. + * @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 roleDefinitionId The ID of the role definition. * @param roleDefinition The values for the role definition. * @param options The options parameters. @@ -155,7 +167,10 @@ export class RoleDefinitionsImpl implements RoleDefinitions { /** * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. + * @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 _list( @@ -189,7 +204,10 @@ export class RoleDefinitionsImpl implements RoleDefinitions { /** * ListNext - * @param scope The scope of the role definition. + * @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 List method. * @param options The options parameters. */ @@ -220,7 +238,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.scope, @@ -241,7 +259,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.scope, @@ -263,7 +281,7 @@ const createOrUpdateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.roleDefinition, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [ Parameters.$host, Parameters.scope, @@ -284,7 +302,7 @@ const listOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1, Parameters.filter], + queryParameters: [Parameters.filter, Parameters.apiVersion2], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -300,7 +318,7 @@ const getByIdOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse } }, - queryParameters: [Parameters.apiVersion1], + queryParameters: [Parameters.apiVersion2], urlParameters: [Parameters.$host, Parameters.roleId], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts index ea7c0e1d5351..d742f9616209 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleInstances.ts @@ -160,7 +160,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -177,7 +177,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts index fb86abe0f782..3a303a55e84e 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilityScheduleRequests.ts @@ -103,9 +103,11 @@ export class RoleEligibilityScheduleRequestsImpl /** * Creates a role eligibility schedule request. * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST - * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * 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. @@ -226,7 +228,7 @@ const createOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters2, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -248,7 +250,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -269,7 +271,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion5], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer @@ -284,7 +286,7 @@ const cancelOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, @@ -306,7 +308,7 @@ const validateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters2, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion5], urlParameters: [ Parameters.$host, Parameters.scope, diff --git a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts b/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts index 7ff784eaaf07..95370932c054 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleEligibilitySchedules.ts @@ -158,7 +158,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -178,7 +178,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.filter, Parameters.apiVersion2], + queryParameters: [Parameters.filter, Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts index 08fe8e31676a..9f356908c1b4 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicies.ts @@ -197,7 +197,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -219,7 +219,7 @@ const updateOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters3, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -240,7 +240,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -260,7 +260,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts index f004a0573db5..da229d06b1cc 100644 --- a/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts +++ b/sdk/authorization/arm-authorization/src/operations/roleManagementPolicyAssignments.ts @@ -201,7 +201,7 @@ const getOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -223,7 +223,7 @@ const createOperationSpec: coreClient.OperationSpec = { } }, requestBody: Parameters.parameters4, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -244,7 +244,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [ Parameters.$host, Parameters.scope, @@ -265,7 +265,7 @@ const listForScopeOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.CloudError } }, - queryParameters: [Parameters.apiVersion2], + queryParameters: [Parameters.apiVersion4], urlParameters: [Parameters.$host, Parameters.scope], headerParameters: [Parameters.accept], serializer diff --git a/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewDefaultSettings.ts new file mode 100644 index 000000000000..875fed822a9d --- /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.apiVersion3], + urlParameters: [Parameters.$host, Parameters.scope1], + 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.apiVersion3], + urlParameters: [Parameters.$host, Parameters.scope1], + 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..5b80d847cde1 --- /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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope1 + ], + 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..3100006e657a --- /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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.instanceId, + Parameters.scope1 + ], + 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..4c9051542c81 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,193 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewHistoryDefinitionInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryInstance, + ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams, + ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams, + ScopeAccessReviewHistoryDefinitionInstancesListResponse, + ScopeAccessReviewHistoryDefinitionInstancesListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewHistoryDefinitionInstances operations. */ +export class ScopeAccessReviewHistoryDefinitionInstancesImpl + implements ScopeAccessReviewHistoryDefinitionInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinitionInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + public list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, historyDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + historyDefinitionId, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewHistoryDefinitionInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, historyDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + historyDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + historyDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + private _list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + historyDefinitionId: string, + nextLink: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions/{historyDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.historyDefinitionId, + Parameters.scope1 + ], + 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..9d97b64e13b2 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewHistoryDefinitions.ts @@ -0,0 +1,204 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewHistoryDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewHistoryDefinition, + ScopeAccessReviewHistoryDefinitionsListNextOptionalParams, + ScopeAccessReviewHistoryDefinitionsListOptionalParams, + ScopeAccessReviewHistoryDefinitionsListResponse, + ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdResponse, + ScopeAccessReviewHistoryDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewHistoryDefinitions operations. */ +export class ScopeAccessReviewHistoryDefinitionsImpl + implements ScopeAccessReviewHistoryDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewHistoryDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + public list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scope, options, settings); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewHistoryDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(scope, options)) { + yield* page; + } + } + + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + private _list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listOperationSpec + ); + } + + /** + * Get access review history definition by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, historyDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + nextLink: string, + options?: ScopeAccessReviewHistoryDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewHistoryDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + urlParameters: [Parameters.$host, Parameters.scope1], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.historyDefinitionId, + Parameters.scope1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewHistoryDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], + 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..04acb43fa98e --- /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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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..883bfe85fed0 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,206 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams, + ScopeAccessReviewInstanceContactedReviewersListOptionalParams, + ScopeAccessReviewInstanceContactedReviewersListResponse, + ScopeAccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstanceContactedReviewers operations. */ +export class ScopeAccessReviewInstanceContactedReviewersImpl + implements ScopeAccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: ScopeAccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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..80ab30f21f9b --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstanceDecisions.ts @@ -0,0 +1,206 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstanceDecisions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewDecision, + ScopeAccessReviewInstanceDecisionsListNextOptionalParams, + ScopeAccessReviewInstanceDecisionsListOptionalParams, + ScopeAccessReviewInstanceDecisionsListResponse, + ScopeAccessReviewInstanceDecisionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstanceDecisions operations. */ +export class ScopeAccessReviewInstanceDecisionsImpl + implements ScopeAccessReviewInstanceDecisions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstanceDecisions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstanceDecisionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: ScopeAccessReviewInstanceDecisionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/decisions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewDecisionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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..4c7eceaa883e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewInstances.ts @@ -0,0 +1,284 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewInstances } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewInstance, + ScopeAccessReviewInstancesListNextOptionalParams, + ScopeAccessReviewInstancesListOptionalParams, + ScopeAccessReviewInstancesListResponse, + ScopeAccessReviewInstancesGetByIdOptionalParams, + ScopeAccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + ScopeAccessReviewInstancesCreateOptionalParams, + ScopeAccessReviewInstancesCreateResponse, + ScopeAccessReviewInstancesListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewInstances operations. */ +export class ScopeAccessReviewInstancesImpl + implements ScopeAccessReviewInstances { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewInstances class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + public list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, scheduleDefinitionId, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + scope, + scheduleDefinitionId, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewInstancesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, scheduleDefinitionId, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scope, + scheduleDefinitionId, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scope, + scheduleDefinitionId, + options + )) { + yield* page; + } + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + private _list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + listOperationSpec + ); + } + + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstancesGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, options }, + getByIdOperationSpec + ); + } + + /** + * Update access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: ScopeAccessReviewInstancesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, id, properties, options }, + createOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + scheduleDefinitionId: string, + nextLink: string, + options?: ScopeAccessReviewInstancesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id, + Parameters.scope1 + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewInstanceListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + 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..293c310948d1 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/scopeAccessReviewScheduleDefinitions.ts @@ -0,0 +1,322 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScopeAccessReviewScheduleDefinitions } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewScheduleDefinition, + ScopeAccessReviewScheduleDefinitionsListNextOptionalParams, + ScopeAccessReviewScheduleDefinitionsListOptionalParams, + ScopeAccessReviewScheduleDefinitionsListResponse, + ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdResponse, + ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + ScopeAccessReviewScheduleDefinitionsStopOptionalParams, + ScopeAccessReviewScheduleDefinitionsListNextResponse +} from "../models"; + +/// +/** Class containing ScopeAccessReviewScheduleDefinitions operations. */ +export class ScopeAccessReviewScheduleDefinitionsImpl + implements ScopeAccessReviewScheduleDefinitions { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class ScopeAccessReviewScheduleDefinitions class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + public list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scope, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scope, options, settings); + } + }; + } + + private async *listPagingPage( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScopeAccessReviewScheduleDefinitionsListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scope, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext(scope, continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage(scope, options)) { + yield* page; + } + } + + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + private _list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, options }, + listOperationSpec + ); + } + + /** + * Get single access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + getByIdOperationSpec + ); + } + + /** + * Delete access review schedule definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + deleteByIdOperationSpec + ); + } + + /** + * Create or Update access review schedule definition. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scope: string, + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, properties, options }, + createOrUpdateByIdOperationSpec + ); + } + + /** + * Stop access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsStopOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, scheduleDefinitionId, options }, + stopOperationSpec + ); + } + + /** + * ListNext + * @param scope The scope of the resource. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scope: string, + nextLink: string, + options?: ScopeAccessReviewScheduleDefinitionsListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scope, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/{scope}/providers/Microsoft.Authorization/accessReviewScheduleDefinitions", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.filter1, Parameters.apiVersion3], + urlParameters: [Parameters.$host, Parameters.scope1], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + 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.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.scope1 + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewScheduleDefinitionListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [Parameters.$host, Parameters.nextLink, Parameters.scope1], + 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..41a40c84b955 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operations/tenantLevelAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,190 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { TenantLevelAccessReviewInstanceContactedReviewers } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { AuthorizationManagementClient } from "../authorizationManagementClient"; +import { + AccessReviewContactedReviewer, + TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams, + TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams, + TenantLevelAccessReviewInstanceContactedReviewersListResponse, + TenantLevelAccessReviewInstanceContactedReviewersListNextResponse +} from "../models"; + +/// +/** Class containing TenantLevelAccessReviewInstanceContactedReviewers operations. */ +export class TenantLevelAccessReviewInstanceContactedReviewersImpl + implements TenantLevelAccessReviewInstanceContactedReviewers { + private readonly client: AuthorizationManagementClient; + + /** + * Initialize a new instance of the class TenantLevelAccessReviewInstanceContactedReviewers class. + * @param client Reference to the service client + */ + constructor(client: AuthorizationManagementClient) { + this.client = client; + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + public list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll(scheduleDefinitionId, id, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage(scheduleDefinitionId, id, options, settings); + } + }; + } + + private async *listPagingPage( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: TenantLevelAccessReviewInstanceContactedReviewersListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(scheduleDefinitionId, id, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + scheduleDefinitionId, + id, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + scheduleDefinitionId, + id, + options + )) { + yield* page; + } + } + + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + private _list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + scheduleDefinitionId: string, + id: string, + nextLink: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListNextOptionalParams + ): Promise< + TenantLevelAccessReviewInstanceContactedReviewersListNextResponse + > { + return this.client.sendOperationRequest( + { scheduleDefinitionId, id, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listOperationSpec: coreClient.OperationSpec = { + path: + "/providers/Microsoft.Authorization/accessReviewScheduleDefinitions/{scheduleDefinitionId}/instances/{id}/contactedReviewers", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + queryParameters: [Parameters.apiVersion3], + urlParameters: [ + Parameters.$host, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AccessReviewContactedReviewerListResult + }, + default: { + bodyMapper: Mappers.ErrorDefinition + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.scheduleDefinitionId, + Parameters.id + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts new file mode 100644 index 000000000000..71fc31da58f5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewDefaultSettingsOperations.ts @@ -0,0 +1,35 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewDefaultSettingsGetOptionalParams, + AccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + AccessReviewDefaultSettingsPutOptionalParams, + AccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Interface representing a AccessReviewDefaultSettingsOperations. */ +export interface AccessReviewDefaultSettingsOperations { + /** + * Get access review default settings for the subscription + * @param options The options parameters. + */ + get( + options?: AccessReviewDefaultSettingsGetOptionalParams + ): Promise; + /** + * Get access review default settings for the subscription + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + properties: AccessReviewScheduleSettings, + options?: AccessReviewDefaultSettingsPutOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..4d77716ecc2f --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,28 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + AccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Interface representing a AccessReviewHistoryDefinitionInstance. */ +export interface AccessReviewHistoryDefinitionInstance { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + historyDefinitionId: string, + instanceId: string, + options?: AccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..1549ff379e98 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryInstance, + AccessReviewHistoryDefinitionInstancesListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewHistoryDefinitionInstances. */ +export interface AccessReviewHistoryDefinitionInstances { + /** + * Get access review history definition instances by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + list( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts new file mode 100644 index 000000000000..dfda80c1b829 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitionOperations.ts @@ -0,0 +1,38 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionProperties, + AccessReviewHistoryDefinitionCreateOptionalParams, + AccessReviewHistoryDefinitionCreateResponse, + AccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Interface representing a AccessReviewHistoryDefinitionOperations. */ +export interface AccessReviewHistoryDefinitionOperations { + /** + * Create a scheduled or one-time Access Review History Definition + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: AccessReviewHistoryDefinitionCreateOptionalParams + ): Promise; + /** + * Delete an access review history definition + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..4c1896b8172d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewHistoryDefinitions.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryDefinition, + AccessReviewHistoryDefinitionsListOptionalParams, + AccessReviewHistoryDefinitionsGetByIdOptionalParams, + AccessReviewHistoryDefinitionsGetByIdResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewHistoryDefinitions. */ +export interface AccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param options The options parameters. + */ + list( + options?: AccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review history definition by definition Id + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + historyDefinitionId: string, + options?: AccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..5d9cd938cae5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceContactedReviewers.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + AccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceContactedReviewers. */ +export interface AccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..df1e4cdfc6e6 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceDecisions.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + AccessReviewInstanceDecisionsListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceDecisions. */ +export interface AccessReviewInstanceDecisions { + /** + * Get access review instance decisions + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts new file mode 100644 index 000000000000..7f2013cc6608 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceMyDecisions.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + AccessReviewInstanceMyDecisionsListOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdOptionalParams, + AccessReviewInstanceMyDecisionsGetByIdResponse, + AccessReviewDecisionProperties, + AccessReviewInstanceMyDecisionsPatchOptionalParams, + AccessReviewInstanceMyDecisionsPatchResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstanceMyDecisions. */ +export interface AccessReviewInstanceMyDecisions { + /** + * Get my access review instance decisions. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceMyDecisionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get my single access review instance decision. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + decisionId: string, + options?: AccessReviewInstanceMyDecisionsGetByIdOptionalParams + ): Promise; + /** + * Record a decision. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param decisionId The id of the decision record. + * @param properties Access review decision properties to patch. + * @param options The options parameters. + */ + patch( + scheduleDefinitionId: string, + id: string, + decisionId: string, + properties: AccessReviewDecisionProperties, + options?: AccessReviewInstanceMyDecisionsPatchOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts new file mode 100644 index 000000000000..0faef402bebd --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstanceOperations.ts @@ -0,0 +1,74 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewInstanceStopOptionalParams, + AccessReviewInstanceResetDecisionsOptionalParams, + AccessReviewInstanceApplyDecisionsOptionalParams, + AccessReviewInstanceSendRemindersOptionalParams, + AccessReviewInstanceAcceptRecommendationsOptionalParams +} from "../models"; + +/** Interface representing a AccessReviewInstanceOperations. */ +export interface AccessReviewInstanceOperations { + /** + * An action to stop an access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceStopOptionalParams + ): Promise; + /** + * An action to reset all decisions for an access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + resetDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceResetDecisionsOptionalParams + ): Promise; + /** + * An action to apply all decisions for an access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + applyDecisions( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceApplyDecisionsOptionalParams + ): Promise; + /** + * An action to send reminders for an access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + sendReminders( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceSendRemindersOptionalParams + ): Promise; + /** + * An action to accept recommendations for decision in an access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + acceptRecommendations( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstanceAcceptRecommendationsOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts new file mode 100644 index 000000000000..540b9fa5218c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstances.ts @@ -0,0 +1,56 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + AccessReviewInstancesListOptionalParams, + AccessReviewInstancesGetByIdOptionalParams, + AccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + AccessReviewInstancesCreateOptionalParams, + AccessReviewInstancesCreateResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstances. */ +export interface AccessReviewInstances { + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review instances + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesGetByIdOptionalParams + ): Promise; + /** + * Update access review instance. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: AccessReviewInstancesCreateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts new file mode 100644 index 000000000000..86e51cc51c0e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewInstancesAssignedForMyApproval.ts @@ -0,0 +1,40 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + AccessReviewInstancesAssignedForMyApprovalListOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams, + AccessReviewInstancesAssignedForMyApprovalGetByIdResponse +} from "../models"; + +/// +/** Interface representing a AccessReviewInstancesAssignedForMyApproval. */ +export interface AccessReviewInstancesAssignedForMyApproval { + /** + * Get access review instances assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + options?: AccessReviewInstancesAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get single access review instance assigned for my approval. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + id: string, + options?: AccessReviewInstancesAssignedForMyApprovalGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..972f1705680c --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitions.ts @@ -0,0 +1,70 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsListOptionalParams, + AccessReviewScheduleDefinitionsGetByIdOptionalParams, + AccessReviewScheduleDefinitionsGetByIdResponse, + AccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + AccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + AccessReviewScheduleDefinitionsStopOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewScheduleDefinitions. */ +export interface AccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions + * @param options The options parameters. + */ + list( + options?: AccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get single access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise; + /** + * Delete access review schedule definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise; + /** + * Create or Update access review schedule definition. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: AccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise; + /** + * Stop access review definition + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scheduleDefinitionId: string, + options?: AccessReviewScheduleDefinitionsStopOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts new file mode 100644 index 000000000000..6f00935f1250 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/accessReviewScheduleDefinitionsAssignedForMyApproval.ts @@ -0,0 +1,25 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams +} from "../models"; + +/// +/** Interface representing a AccessReviewScheduleDefinitionsAssignedForMyApproval. */ +export interface AccessReviewScheduleDefinitionsAssignedForMyApproval { + /** + * Get access review instances assigned for my approval. + * @param options The options parameters. + */ + list( + options?: AccessReviewScheduleDefinitionsAssignedForMyApprovalListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts new file mode 100644 index 000000000000..8b041634b838 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertConfigurations.ts @@ -0,0 +1,60 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertConfiguration, + AlertConfigurationsListForScopeOptionalParams, + AlertConfigurationsGetOptionalParams, + AlertConfigurationsGetResponse, + AlertConfigurationsUpdateOptionalParams +} from "../models"; + +/// +/** Interface representing a AlertConfigurations. */ +export interface AlertConfigurations { + /** + * Gets alert configurations for a resource scope. + * @param scope The scope of the alert configuration. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertConfigurationsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert configuration. + * @param scope The scope of the alert configuration. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert configuration to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertConfigurationsGetOptionalParams + ): Promise; + /** + * Update an alert configuration. + * @param scope The scope of the alert configuration. + * @param alertId The name of the alert configuration to update. + * @param parameters Parameters for the alert configuration. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: AlertConfiguration, + options?: AlertConfigurationsUpdateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts new file mode 100644 index 000000000000..371884eabfad --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertDefinitions.ts @@ -0,0 +1,46 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertDefinition, + AlertDefinitionsListForScopeOptionalParams, + AlertDefinitionsGetOptionalParams, + AlertDefinitionsGetResponse +} from "../models"; + +/// +/** Interface representing a AlertDefinitions. */ +export interface AlertDefinitions { + /** + * Gets alert definitions for a resource scope. + * @param scope The scope of the alert definition. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertDefinitionsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert definition. + * @param scope The scope of the alert definition. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertDefinitionId The name of the alert definition to get. + * @param options The options parameters. + */ + get( + scope: string, + alertDefinitionId: string, + options?: AlertDefinitionsGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts new file mode 100644 index 000000000000..67b1eaf4c053 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertIncidents.ts @@ -0,0 +1,64 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AlertIncident, + AlertIncidentsListForScopeOptionalParams, + AlertIncidentsGetOptionalParams, + AlertIncidentsGetResponse, + AlertIncidentsRemediateOptionalParams +} from "../models"; + +/// +/** Interface representing a AlertIncidents. */ +export interface AlertIncidents { + /** + * Gets alert incidents for a resource scope. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param options The options parameters. + */ + listForScope( + scope: string, + alertId: string, + options?: AlertIncidentsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert incident. + * @param scope The scope of the alert incident. The scope can be any REST resource instance. For + * example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a + * subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsGetOptionalParams + ): Promise; + /** + * Remediate an alert incident. + * @param scope The scope of the alert incident. + * @param alertId The name of the alert. + * @param alertIncidentId The name of the alert incident to remediate. + * @param options The options parameters. + */ + remediate( + scope: string, + alertId: string, + alertIncidentId: string, + options?: AlertIncidentsRemediateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts new file mode 100644 index 000000000000..ce47e8790833 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alertOperation.ts @@ -0,0 +1,27 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AlertOperationGetOptionalParams, + AlertOperationGetResponse +} from "../models"; + +/** Interface representing a AlertOperation. */ +export interface AlertOperation { + /** + * Get the specified alert operation. + * @param scope The scope of the alert operation. + * @param operationId The id of the alert operation. + * @param options The options parameters. + */ + get( + scope: string, + operationId: string, + options?: AlertOperationGetOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts new file mode 100644 index 000000000000..62e7c64e9b54 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/alerts.ts @@ -0,0 +1,114 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + Alert, + AlertsListForScopeOptionalParams, + AlertsGetOptionalParams, + AlertsGetResponse, + AlertsUpdateOptionalParams, + AlertsRefreshOptionalParams, + AlertsRefreshResponse, + AlertsRefreshAllOptionalParams, + AlertsRefreshAllResponse +} from "../models"; + +/// +/** Interface representing a Alerts. */ +export interface Alerts { + /** + * Gets alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + listForScope( + scope: string, + options?: AlertsListForScopeOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get the specified alert. + * @param scope The scope of the alert. The scope can be any REST resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * for a resource. + * @param alertId The name of the alert to get. + * @param options The options parameters. + */ + get( + scope: string, + alertId: string, + options?: AlertsGetOptionalParams + ): Promise; + /** + * Update an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to dismiss. + * @param parameters Parameters for the alert. + * @param options The options parameters. + */ + update( + scope: string, + alertId: string, + parameters: Alert, + options?: AlertsUpdateOptionalParams + ): Promise; + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + beginRefresh( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshResponse + > + >; + /** + * Refresh an alert. + * @param scope The scope of the alert. + * @param alertId The name of the alert to refresh. + * @param options The options parameters. + */ + beginRefreshAndWait( + scope: string, + alertId: string, + options?: AlertsRefreshOptionalParams + ): Promise; + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + beginRefreshAll( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise< + SimplePollerLike< + OperationState, + AlertsRefreshAllResponse + > + >; + /** + * Refresh all alerts for a resource scope. + * @param scope The scope of the alert. + * @param options The options parameters. + */ + beginRefreshAllAndWait( + scope: string, + options?: AlertsRefreshAllOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts index e33e8ff3e2a0..6478abca602a 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/index.ts @@ -13,6 +13,31 @@ export * from "./providerOperationsMetadataOperations"; export * from "./roleAssignments"; export * from "./permissions"; export * from "./roleDefinitions"; +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 "./eligibleChildResources"; export * from "./roleAssignmentSchedules"; export * from "./roleAssignmentScheduleInstances"; @@ -22,3 +47,8 @@ export * from "./roleEligibilityScheduleInstances"; export * from "./roleEligibilityScheduleRequests"; export * from "./roleManagementPolicies"; export * from "./roleManagementPolicyAssignments"; +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/roleAssignmentScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts index ddf1bb78ef4e..c0fc1fb605db 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleAssignmentScheduleRequests.ts @@ -34,9 +34,11 @@ export interface RoleAssignmentScheduleRequests { /** * Creates a role assignment schedule request. * @param scope The scope of the role assignment schedule request to create. The scope can be any REST - * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * resource instance. For example, use + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' + * for a resource group, and + * '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' * for a resource. * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be * unique and different for each role assignment. diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts index 5f7ade301159..4889cf0acc47 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleDefinitions.ts @@ -25,7 +25,10 @@ import { export interface RoleDefinitions { /** * Get all role definitions that are applicable at scope and above. - * @param scope The scope of the role definition. + * @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. */ list( @@ -34,7 +37,10 @@ export interface RoleDefinitions { ): PagedAsyncIterableIterator; /** * Deletes a role definition. - * @param scope The scope of the role definition. + * @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 roleDefinitionId The ID of the role definition to delete. * @param options The options parameters. */ @@ -44,8 +50,11 @@ export interface RoleDefinitions { options?: RoleDefinitionsDeleteOptionalParams ): Promise; /** - * Get role definition by name (GUID). - * @param scope The scope of the role definition. + * Get role definition by ID (GUID). + * @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 roleDefinitionId The ID of the role definition. * @param options The options parameters. */ @@ -56,7 +65,10 @@ export interface RoleDefinitions { ): Promise; /** * Creates or updates a role definition. - * @param scope The scope of the role definition. + * @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 roleDefinitionId The ID of the role definition. * @param roleDefinition The values for the role definition. * @param options The options parameters. diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts index 469f04796775..8726437d063c 100644 --- a/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/roleEligibilityScheduleRequests.ts @@ -34,9 +34,11 @@ export interface RoleEligibilityScheduleRequests { /** * Creates a role eligibility schedule request. * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST - * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and - * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' + * 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. diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts new file mode 100644 index 000000000000..a0b9039d045d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewDefaultSettings.ts @@ -0,0 +1,39 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewDefaultSettingsGetOptionalParams, + ScopeAccessReviewDefaultSettingsGetResponse, + AccessReviewScheduleSettings, + ScopeAccessReviewDefaultSettingsPutOptionalParams, + ScopeAccessReviewDefaultSettingsPutResponse +} from "../models"; + +/** Interface representing a ScopeAccessReviewDefaultSettings. */ +export interface ScopeAccessReviewDefaultSettings { + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param options The options parameters. + */ + get( + scope: string, + options?: ScopeAccessReviewDefaultSettingsGetOptionalParams + ): Promise; + /** + * Get access review default settings for the subscription + * @param scope The scope of the resource. + * @param properties Access review schedule settings. + * @param options The options parameters. + */ + put( + scope: string, + properties: AccessReviewScheduleSettings, + options?: ScopeAccessReviewDefaultSettingsPutOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts new file mode 100644 index 000000000000..7f5b3c4f1218 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinition.ts @@ -0,0 +1,42 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + AccessReviewHistoryDefinitionProperties, + ScopeAccessReviewHistoryDefinitionCreateOptionalParams, + ScopeAccessReviewHistoryDefinitionCreateResponse, + ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams +} from "../models"; + +/** Interface representing a ScopeAccessReviewHistoryDefinition. */ +export interface ScopeAccessReviewHistoryDefinition { + /** + * Create a scheduled or one-time Access Review History Definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param properties Access review history definition properties. + * @param options The options parameters. + */ + create( + scope: string, + historyDefinitionId: string, + properties: AccessReviewHistoryDefinitionProperties, + options?: ScopeAccessReviewHistoryDefinitionCreateOptionalParams + ): Promise; + /** + * Delete an access review history definition + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionDeleteByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts new file mode 100644 index 000000000000..952f891d24a5 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstance.ts @@ -0,0 +1,32 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams, + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse +} from "../models"; + +/** Interface representing a ScopeAccessReviewHistoryDefinitionInstance. */ +export interface ScopeAccessReviewHistoryDefinitionInstance { + /** + * Generates a uri which can be used to retrieve review history data. This URI has a TTL of 1 day and + * can be retrieved by fetching the accessReviewHistoryDefinition object. + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param instanceId The id of the access review history definition instance to generate a URI for. + * @param options The options parameters. + */ + generateDownloadUri( + scope: string, + historyDefinitionId: string, + instanceId: string, + options?: ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriOptionalParams + ): Promise< + ScopeAccessReviewHistoryDefinitionInstanceGenerateDownloadUriResponse + >; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts new file mode 100644 index 000000000000..1263672ae858 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitionInstances.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryInstance, + ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewHistoryDefinitionInstances. */ +export interface ScopeAccessReviewHistoryDefinitionInstances { + /** + * Get access review history definition instances by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + list( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionInstancesListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts new file mode 100644 index 000000000000..d14f3ce0293d --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewHistoryDefinitions.ts @@ -0,0 +1,41 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewHistoryDefinition, + ScopeAccessReviewHistoryDefinitionsListOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams, + ScopeAccessReviewHistoryDefinitionsGetByIdResponse +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewHistoryDefinitions. */ +export interface ScopeAccessReviewHistoryDefinitions { + /** + * Lists the accessReviewHistoryDefinitions available from this provider, definition instances are only + * available for 30 days after creation. + * @param scope The scope of the resource. + * @param options The options parameters. + */ + list( + scope: string, + options?: ScopeAccessReviewHistoryDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review history definition by definition Id + * @param scope The scope of the resource. + * @param historyDefinitionId The id of the access review history definition. + * @param options The options parameters. + */ + getById( + scope: string, + historyDefinitionId: string, + options?: ScopeAccessReviewHistoryDefinitionsGetByIdOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts new file mode 100644 index 000000000000..195539b5ebf9 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstance.ts @@ -0,0 +1,87 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + ScopeAccessReviewInstanceStopOptionalParams, + RecordAllDecisionsProperties, + ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams, + ScopeAccessReviewInstanceResetDecisionsOptionalParams, + ScopeAccessReviewInstanceApplyDecisionsOptionalParams, + ScopeAccessReviewInstanceSendRemindersOptionalParams +} from "../models"; + +/** Interface representing a ScopeAccessReviewInstance. */ +export interface ScopeAccessReviewInstance { + /** + * An action to stop an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceStopOptionalParams + ): Promise; + /** + * An action to approve/deny all decisions for a review with certain filters. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Record all decisions payload. + * @param options The options parameters. + */ + recordAllDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: RecordAllDecisionsProperties, + options?: ScopeAccessReviewInstanceRecordAllDecisionsOptionalParams + ): Promise; + /** + * An action to reset all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + resetDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceResetDecisionsOptionalParams + ): Promise; + /** + * An action to apply all decisions for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + applyDecisions( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceApplyDecisionsOptionalParams + ): Promise; + /** + * An action to send reminders for an access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + sendReminders( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceSendRemindersOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..1e0830d268da --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + ScopeAccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstanceContactedReviewers. */ +export interface ScopeAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts new file mode 100644 index 000000000000..0f754eb6126e --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstanceDecisions.ts @@ -0,0 +1,31 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewDecision, + ScopeAccessReviewInstanceDecisionsListOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstanceDecisions. */ +export interface ScopeAccessReviewInstanceDecisions { + /** + * Get access review instance decisions + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstanceDecisionsListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts new file mode 100644 index 000000000000..81c7a21a7600 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewInstances.ts @@ -0,0 +1,62 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewInstance, + ScopeAccessReviewInstancesListOptionalParams, + ScopeAccessReviewInstancesGetByIdOptionalParams, + ScopeAccessReviewInstancesGetByIdResponse, + AccessReviewInstanceProperties, + ScopeAccessReviewInstancesCreateOptionalParams, + ScopeAccessReviewInstancesCreateResponse +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewInstances. */ +export interface ScopeAccessReviewInstances { + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + list( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewInstancesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get access review instances + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + id: string, + options?: ScopeAccessReviewInstancesGetByIdOptionalParams + ): Promise; + /** + * Update access review instance. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param properties Access review instance properties. + * @param options The options parameters. + */ + create( + scope: string, + scheduleDefinitionId: string, + id: string, + properties: AccessReviewInstanceProperties, + options?: ScopeAccessReviewInstancesCreateOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts new file mode 100644 index 000000000000..a0459141a928 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/scopeAccessReviewScheduleDefinitions.ts @@ -0,0 +1,80 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewScheduleDefinition, + ScopeAccessReviewScheduleDefinitionsListOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsGetByIdResponse, + ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams, + AccessReviewScheduleDefinitionProperties, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams, + ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdResponse, + ScopeAccessReviewScheduleDefinitionsStopOptionalParams +} from "../models"; + +/// +/** Interface representing a ScopeAccessReviewScheduleDefinitions. */ +export interface ScopeAccessReviewScheduleDefinitions { + /** + * Get access review schedule definitions + * @param scope The scope of the resource. + * @param options The options parameters. + */ + list( + scope: string, + options?: ScopeAccessReviewScheduleDefinitionsListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get single access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + getById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsGetByIdOptionalParams + ): Promise; + /** + * Delete access review schedule definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + deleteById( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsDeleteByIdOptionalParams + ): Promise; + /** + * Create or Update access review schedule definition. + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param properties Access review schedule definition properties. + * @param options The options parameters. + */ + createOrUpdateById( + scope: string, + scheduleDefinitionId: string, + properties: AccessReviewScheduleDefinitionProperties, + options?: ScopeAccessReviewScheduleDefinitionsCreateOrUpdateByIdOptionalParams + ): Promise; + /** + * Stop access review definition + * @param scope The scope of the resource. + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param options The options parameters. + */ + stop( + scope: string, + scheduleDefinitionId: string, + options?: ScopeAccessReviewScheduleDefinitionsStopOptionalParams + ): Promise; +} diff --git a/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts b/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts new file mode 100644 index 000000000000..e7b93a374851 --- /dev/null +++ b/sdk/authorization/arm-authorization/src/operationsInterfaces/tenantLevelAccessReviewInstanceContactedReviewers.ts @@ -0,0 +1,29 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AccessReviewContactedReviewer, + TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams +} from "../models"; + +/// +/** Interface representing a TenantLevelAccessReviewInstanceContactedReviewers. */ +export interface TenantLevelAccessReviewInstanceContactedReviewers { + /** + * Get access review instance contacted reviewers + * @param scheduleDefinitionId The id of the access review schedule definition. + * @param id The id of the access review instance. + * @param options The options parameters. + */ + list( + scheduleDefinitionId: string, + id: string, + options?: TenantLevelAccessReviewInstanceContactedReviewersListOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/authorization/arm-authorization/test/sampleTest.ts b/sdk/authorization/arm-authorization/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/authorization/arm-authorization/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/authorization/arm-authorization/tsconfig.json b/sdk/authorization/arm-authorization/tsconfig.json index bd142baf706d..3e6ae96443f3 100644 --- a/sdk/authorization/arm-authorization/tsconfig.json +++ b/sdk/authorization/arm-authorization/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-authorization": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"