import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; /** * 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 declare type ApprovalMode = string; /** The approval settings. */ export declare 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 declare 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[]; } /** * 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 declare type AssignmentType = string; export declare class AuthorizationManagementClient extends coreClient.ServiceClient { $host: string; subscriptionId: string; /** * Initializes a new instance of the AuthorizationManagementClient class. * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The ID of the target subscription. * @param options The parameter options */ constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams); classicAdministrators: ClassicAdministrators; globalAdministrator: GlobalAdministrator; denyAssignments: DenyAssignments; providerOperationsMetadataOperations: ProviderOperationsMetadataOperations; roleAssignments: RoleAssignments; permissions: Permissions_2; roleDefinitions: RoleDefinitions; eligibleChildResources: EligibleChildResources; roleAssignmentSchedules: RoleAssignmentSchedules; roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; roleEligibilitySchedules: RoleEligibilitySchedules; roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; roleManagementPolicies: RoleManagementPolicies; roleManagementPolicyAssignments: RoleManagementPolicyAssignments; } /** Optional parameters. */ export declare interface AuthorizationManagementClientOptionalParams extends coreClient.ServiceClientOptions { /** server parameter */ $host?: string; /** Overrides client endpoint. */ endpoint?: string; } /** Classic Administrators */ export declare interface ClassicAdministrator { /** The ID of the administrator. */ id?: string; /** The name of the administrator. */ name?: string; /** The type of the administrator. */ type?: string; /** The email address of the administrator. */ emailAddress?: string; /** The role of the administrator. */ role?: string; } /** ClassicAdministrator list result information. */ export declare interface ClassicAdministratorListResult { /** An array of administrators. */ value?: ClassicAdministrator[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a ClassicAdministrators. */ export declare interface ClassicAdministrators { /** * Gets service administrator, account administrator, and co-administrators for the subscription. * @param options The options parameters. */ list(options?: ClassicAdministratorsListOptionalParams): PagedAsyncIterableIterator; } /** Optional parameters. */ export declare interface ClassicAdministratorsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type ClassicAdministratorsListNextResponse = ClassicAdministratorListResult; /** Optional parameters. */ export declare interface ClassicAdministratorsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type ClassicAdministratorsListResponse = ClassicAdministratorListResult; /** An error response from the service. */ export declare interface CloudError { /** An error response from the service. */ error?: CloudErrorBody; } /** An error response from the service. */ export declare 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; } /** Deny Assignment */ export declare interface DenyAssignment { /** * The deny assignment ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The deny assignment name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The deny assignment type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** The display name of the deny assignment. */ denyAssignmentName?: string; /** The description of the deny assignment. */ description?: string; /** An array of permissions that are denied by the deny assignment. */ permissions?: DenyAssignmentPermission[]; /** The deny assignment scope. */ scope?: string; /** Determines if the deny assignment applies to child scopes. Default value is false. */ doNotApplyToChildScopes?: boolean; /** Array of principals to which the deny assignment applies. */ principals?: Principal[]; /** Array of principals to which the deny assignment does not apply. */ excludePrincipals?: Principal[]; /** Specifies whether this deny assignment was created by Azure and cannot be edited or deleted. */ isSystemProtected?: boolean; /** The conditions on the deny assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ condition?: string; /** Version of the condition. */ conditionVersion?: string; /** * Time it was created * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdOn?: Date; /** * Time it was updated * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedOn?: Date; /** * Id of the user who created the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdBy?: string; /** * Id of the user who updated the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedBy?: string; } /** Deny Assignments filter */ export declare 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; } /** Deny assignment list operation result. */ export declare interface DenyAssignmentListResult { /** Deny assignment list. */ value?: DenyAssignment[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Deny assignment permissions. */ export declare interface DenyAssignmentPermission { /** Actions to which the deny assignment does not grant access. */ actions?: string[]; /** Actions to exclude from that the deny assignment does not grant access. */ notActions?: string[]; /** Data actions to which the deny assignment does not grant access. */ dataActions?: string[]; /** Data actions to exclude from that the deny assignment does not grant access. */ notDataActions?: string[]; /** The conditions on the Deny assignment permission. This limits the resources it applies to. */ condition?: string; /** Version of the condition. */ conditionVersion?: string; } /** Interface representing a DenyAssignments. */ export declare interface DenyAssignments { /** * Gets deny assignments for a resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceProviderNamespace The namespace of the resource provider. * @param parentResourcePath The parent resource identity. * @param resourceType The resource type of the resource. * @param resourceName The name of the resource to get deny assignments for. * @param options The options parameters. */ listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: DenyAssignmentsListForResourceOptionalParams): PagedAsyncIterableIterator; /** * Gets deny assignments for a resource group. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listForResourceGroup(resourceGroupName: string, options?: DenyAssignmentsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; /** * Gets all deny assignments for the subscription. * @param options The options parameters. */ list(options?: DenyAssignmentsListOptionalParams): PagedAsyncIterableIterator; /** * Gets deny assignments for a scope. * @param scope The scope of the deny assignments. * @param options The options parameters. */ listForScope(scope: string, options?: DenyAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get the specified deny assignment. * @param scope The scope of the deny assignment. * @param denyAssignmentId The ID of the deny assignment to get. * @param options The options parameters. */ get(scope: string, denyAssignmentId: string, options?: DenyAssignmentsGetOptionalParams): Promise; /** * Gets a deny assignment by ID. * @param denyAssignmentId The fully qualified deny assignment ID. For example, use the format, * /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for * subscription level deny assignments, or * /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant level deny * assignments. * @param options The options parameters. */ getById(denyAssignmentId: string, options?: DenyAssignmentsGetByIdOptionalParams): Promise; } /** Optional parameters. */ export declare interface DenyAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the getById operation. */ export declare type DenyAssignmentsGetByIdResponse = DenyAssignment; /** Optional parameters. */ export declare interface DenyAssignmentsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type DenyAssignmentsGetResponse = DenyAssignment; /** Optional parameters. */ export declare interface DenyAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceGroupNext operation. */ export declare type DenyAssignmentsListForResourceGroupNextResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare 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 declare type DenyAssignmentsListForResourceGroupResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare interface DenyAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceNext operation. */ export declare type DenyAssignmentsListForResourceNextResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare 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 declare type DenyAssignmentsListForResourceResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare interface DenyAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type DenyAssignmentsListForScopeNextResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare 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; } /** Contains response data for the listForScope operation. */ export declare type DenyAssignmentsListForScopeResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare interface DenyAssignmentsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type DenyAssignmentsListNextResponse = DenyAssignmentListResult; /** Optional parameters. */ export declare 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; } /** Contains response data for the list operation. */ export declare type DenyAssignmentsListResponse = DenyAssignmentListResult; /** Eligible child resource */ export declare 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; } /** Interface representing a EligibleChildResources. */ export declare interface EligibleChildResources { /** * Get the child resources of a resource on which user has eligible access * @param scope The scope of the role management policy. * @param options The options parameters. */ list(scope: string, options?: EligibleChildResourcesGetOptionalParams): PagedAsyncIterableIterator; } /** Optional parameters. */ export declare interface EligibleChildResourcesGetNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the getNext operation. */ export declare type EligibleChildResourcesGetNextResponse = EligibleChildResourcesListResult; /** Optional parameters. */ export declare interface EligibleChildResourcesGetOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=resourceType+eq+'Subscription' to filter on only resource of type = 'Subscription'. Use $filter=resourceType+eq+'subscription'+or+resourceType+eq+'resourcegroup' to filter on resource of type = 'Subscription' or 'ResourceGroup' */ filter?: string; } /** Contains response data for the get operation. */ export declare type EligibleChildResourcesGetResponse = EligibleChildResourcesListResult; /** Eligible child resources list operation result. */ export declare interface EligibleChildResourcesListResult { /** Eligible child resource list. */ value?: EligibleChildResource[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** * 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 declare type EnablementRules = string; /** The resource management error additional info. */ export declare interface ErrorAdditionalInfo { /** * The additional info type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** * The additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly info?: Record; } /** The error detail. */ export declare interface ErrorDetail { /** * The error code. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly code?: string; /** * The error message. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly message?: string; /** * The error target. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly target?: string; /** * The error details. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly details?: ErrorDetail[]; /** * The error additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly additionalInfo?: ErrorAdditionalInfo[]; } /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ export declare interface ErrorResponse { /** The error object. */ error?: ErrorDetail; } export declare interface ExpandedProperties { /** Details of the resource scope */ scope?: ExpandedPropertiesScope; /** Details of role definition */ roleDefinition?: ExpandedPropertiesRoleDefinition; /** Details of the principal */ principal?: ExpandedPropertiesPrincipal; } /** Details of the principal */ export declare 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; } /** Details of role definition */ export declare 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 resource scope */ export declare interface ExpandedPropertiesScope { /** Scope id of the resource */ id?: string; /** Display name of the resource */ displayName?: string; /** Type of the resource */ type?: string; } /** * Given the last `.value` produced by the `byPage` iterator, * returns a continuation token that can be used to begin paging from * that point later. * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator. * @returns The continuation token that can be passed into byPage() during future calls. */ export declare function getContinuationToken(page: unknown): string | undefined; /** Interface representing a GlobalAdministrator. */ export declare interface GlobalAdministrator { /** * Elevates access for a Global Administrator. * @param options The options parameters. */ elevateAccess(options?: GlobalAdministratorElevateAccessOptionalParams): Promise; } /** Optional parameters. */ export declare interface GlobalAdministratorElevateAccessOptionalParams extends coreClient.OperationOptions { } /** Known values of {@link ApprovalMode} that the service accepts. */ export declare enum KnownApprovalMode { /** SingleStage */ SingleStage = "SingleStage", /** Serial */ Serial = "Serial", /** Parallel */ Parallel = "Parallel", /** NoApproval */ NoApproval = "NoApproval" } /** Known values of {@link AssignmentType} that the service accepts. */ export declare enum KnownAssignmentType { /** Activated */ Activated = "Activated", /** Assigned */ Assigned = "Assigned" } /** Known values of {@link EnablementRules} that the service accepts. */ export declare enum KnownEnablementRules { /** MultiFactorAuthentication */ MultiFactorAuthentication = "MultiFactorAuthentication", /** Justification */ Justification = "Justification", /** Ticketing */ Ticketing = "Ticketing" } /** Known values of {@link MemberType} that the service accepts. */ export declare enum KnownMemberType { /** Inherited */ Inherited = "Inherited", /** Direct */ Direct = "Direct", /** Group */ Group = "Group" } /** Known values of {@link NotificationDeliveryMechanism} that the service accepts. */ export declare enum KnownNotificationDeliveryMechanism { /** Email */ Email = "Email" } /** Known values of {@link NotificationLevel} that the service accepts. */ export declare enum KnownNotificationLevel { /** None */ None = "None", /** Critical */ Critical = "Critical", /** All */ All = "All" } /** Known values of {@link PrincipalType} that the service accepts. */ export declare enum KnownPrincipalType { /** User */ User = "User", /** Group */ Group = "Group", /** ServicePrincipal */ ServicePrincipal = "ServicePrincipal", /** ForeignGroup */ ForeignGroup = "ForeignGroup", /** Device */ Device = "Device" } /** Known values of {@link RecipientType} that the service accepts. */ export declare enum KnownRecipientType { /** Requestor */ Requestor = "Requestor", /** Approver */ Approver = "Approver", /** Admin */ Admin = "Admin" } /** Known values of {@link RequestType} that the service accepts. */ export declare 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" } /** Known values of {@link RoleManagementPolicyRuleType} that the service accepts. */ export declare enum KnownRoleManagementPolicyRuleType { /** RoleManagementPolicyApprovalRule */ RoleManagementPolicyApprovalRule = "RoleManagementPolicyApprovalRule", /** RoleManagementPolicyAuthenticationContextRule */ RoleManagementPolicyAuthenticationContextRule = "RoleManagementPolicyAuthenticationContextRule", /** RoleManagementPolicyEnablementRule */ RoleManagementPolicyEnablementRule = "RoleManagementPolicyEnablementRule", /** RoleManagementPolicyExpirationRule */ RoleManagementPolicyExpirationRule = "RoleManagementPolicyExpirationRule", /** RoleManagementPolicyNotificationRule */ RoleManagementPolicyNotificationRule = "RoleManagementPolicyNotificationRule" } /** Known values of {@link Status} that the service accepts. */ export declare 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" } /** Known values of {@link Type} that the service accepts. */ export declare enum KnownType { /** AfterDuration */ AfterDuration = "AfterDuration", /** AfterDateTime */ AfterDateTime = "AfterDateTime", /** NoExpiration */ NoExpiration = "NoExpiration" } /** Known values of {@link UserType} that the service accepts. */ export declare enum KnownUserType { /** User */ User = "User", /** 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 declare type MemberType = string; /** * 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 declare type NotificationDeliveryMechanism = string; /** * 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 declare type NotificationLevel = string; /** Role definition permissions. */ export declare interface Permission { /** Allowed actions. */ actions?: string[]; /** Denied actions. */ notActions?: string[]; /** Allowed Data actions. */ dataActions?: string[]; /** Denied Data actions. */ notDataActions?: string[]; } /** Permissions information. */ export declare interface PermissionGetResult { /** An array of permissions. */ value?: Permission[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a Permissions. */ declare interface Permissions_2 { /** * Gets all permissions the caller has for a resource group. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listForResourceGroup(resourceGroupName: string, options?: PermissionsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; /** * Gets all permissions the caller has for a resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceProviderNamespace The namespace of the resource provider. * @param parentResourcePath The parent resource identity. * @param resourceType The resource type of the resource. * @param resourceName The name of the resource to get the permissions for. * @param options The options parameters. */ listForResource(resourceGroupName: string, resourceProviderNamespace: string, parentResourcePath: string, resourceType: string, resourceName: string, options?: PermissionsListForResourceOptionalParams): PagedAsyncIterableIterator; } export { Permissions_2 as Permissions } /** Optional parameters. */ export declare interface PermissionsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceGroupNext operation. */ export declare type PermissionsListForResourceGroupNextResponse = PermissionGetResult; /** Optional parameters. */ export declare interface PermissionsListForResourceGroupOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceGroup operation. */ export declare type PermissionsListForResourceGroupResponse = PermissionGetResult; /** Optional parameters. */ export declare interface PermissionsListForResourceNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceNext operation. */ export declare type PermissionsListForResourceNextResponse = PermissionGetResult; /** Optional parameters. */ export declare interface PermissionsListForResourceOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResource operation. */ export declare type PermissionsListForResourceResponse = PermissionGetResult; /** Expanded info of resource scope, role definition and policy */ export declare interface PolicyAssignmentProperties { /** Details of the resource scope */ scope?: PolicyAssignmentPropertiesScope; /** Details of role definition */ roleDefinition?: PolicyAssignmentPropertiesRoleDefinition; /** Details of the policy */ policy?: PolicyAssignmentPropertiesPolicy; } /** Details of the policy */ export declare 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; } /** Details of role definition */ export declare 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 resource scope */ export declare interface PolicyAssignmentPropertiesScope { /** Scope id of the resource */ id?: string; /** Display name of the resource */ displayName?: string; /** Type of the resource */ type?: string; } /** Expanded info of resource scope */ export declare 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 declare interface PolicyPropertiesScope { /** Scope id of the resource */ id?: string; /** Display name of the resource */ displayName?: string; /** Type of the resource */ type?: string; } /** The name of the entity last modified it */ export declare interface Principal { /** The id of the principal made changes */ id?: string; /** The name of the principal made changes */ displayName?: string; /** Type of principal such as user , group etc */ type?: string; /** Email of principal */ email?: string; } /** * 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 declare type PrincipalType = string; /** Operation */ export declare interface ProviderOperation { /** The operation name. */ name?: string; /** The operation display name. */ displayName?: string; /** The operation description. */ description?: string; /** The operation origin. */ origin?: string; /** The operation properties. */ properties?: Record; /** The dataAction flag to specify the operation type. */ isDataAction?: boolean; } /** Provider Operations metadata */ export declare interface ProviderOperationsMetadata { /** The provider id. */ id?: string; /** The provider name. */ name?: string; /** The provider type. */ type?: string; /** The provider display name. */ displayName?: string; /** The provider resource types */ resourceTypes?: ResourceType[]; /** The provider operations. */ operations?: ProviderOperation[]; } /** Optional parameters. */ export declare interface ProviderOperationsMetadataGetOptionalParams extends coreClient.OperationOptions { /** Specifies whether to expand the values. */ expand?: string; } /** Contains response data for the get operation. */ export declare type ProviderOperationsMetadataGetResponse = ProviderOperationsMetadata; /** Optional parameters. */ export declare interface ProviderOperationsMetadataListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type ProviderOperationsMetadataListNextResponse = ProviderOperationsMetadataListResult; /** Optional parameters. */ export declare interface ProviderOperationsMetadataListOptionalParams extends coreClient.OperationOptions { /** Specifies whether to expand the values. */ expand?: string; } /** Contains response data for the list operation. */ export declare type ProviderOperationsMetadataListResponse = ProviderOperationsMetadataListResult; /** Provider operations metadata list */ export declare interface ProviderOperationsMetadataListResult { /** The list of providers. */ value?: ProviderOperationsMetadata[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a ProviderOperationsMetadataOperations. */ export declare interface ProviderOperationsMetadataOperations { /** * Gets provider operations metadata for all resource providers. * @param options The options parameters. */ list(options?: ProviderOperationsMetadataListOptionalParams): PagedAsyncIterableIterator; /** * Gets provider operations metadata for the specified resource provider. * @param resourceProviderNamespace The namespace of the resource provider. * @param options The options parameters. */ get(resourceProviderNamespace: string, options?: ProviderOperationsMetadataGetOptionalParams): Promise; } /** * 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 declare type RecipientType = string; /** * 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 declare type RequestType = string; /** Resource Type */ export declare interface ResourceType { /** The resource type name. */ name?: string; /** The resource type display name. */ displayName?: string; /** The resource type operations. */ operations?: ProviderOperation[]; } /** Role Assignments */ export declare interface RoleAssignment { /** * The role assignment ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The role assignment name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The role assignment type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** * The role assignment 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. */ principalType?: PrincipalType; /** Description of role assignment */ description?: string; /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ condition?: string; /** Version of the condition. Currently the only accepted value is '2.0' */ conditionVersion?: string; /** * Time it was created * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdOn?: Date; /** * Time it was updated * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedOn?: Date; /** * Id of the user who created the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdBy?: string; /** * Id of the user who updated the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedBy?: string; /** Id of the delegated managed identity resource */ delegatedManagedIdentityResourceId?: string; } /** Role assignment create parameters. */ export declare interface RoleAssignmentCreateParameters { /** * The role assignment 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. */ principalType?: PrincipalType; /** Description of role assignment */ description?: string; /** The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container' */ condition?: string; /** Version of the condition. Currently the only accepted value is '2.0' */ conditionVersion?: string; /** * Time it was created * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdOn?: Date; /** * Time it was updated * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedOn?: Date; /** * Id of the user who created the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdBy?: string; /** * Id of the user who updated the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedBy?: string; /** Id of the delegated managed identity resource */ delegatedManagedIdentityResourceId?: string; } /** Role Assignments filter */ export declare interface RoleAssignmentFilter { /** Returns role assignment of the specific principal. */ principalId?: string; } /** Role assignment list operation result. */ export declare interface RoleAssignmentListResult { /** Role assignment list. */ value?: RoleAssignment[]; /** * The skipToken to use for getting the next set of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a RoleAssignments. */ export declare interface RoleAssignments { /** * List all role assignments that apply to a subscription. * @param options The options parameters. */ listForSubscription(options?: RoleAssignmentsListForSubscriptionOptionalParams): PagedAsyncIterableIterator; /** * List all role assignments that apply to a resource group. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param options The options parameters. */ listForResourceGroup(resourceGroupName: string, options?: RoleAssignmentsListForResourceGroupOptionalParams): PagedAsyncIterableIterator; /** * List all role assignments that apply to a resource. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param resourceProviderNamespace The namespace of the resource provider. * @param resourceType The resource type name. For example the type name of a web app is 'sites' (from * Microsoft.Web/sites). * @param resourceName The resource name. * @param options The options parameters. */ listForResource(resourceGroupName: string, resourceProviderNamespace: string, resourceType: string, resourceName: string, options?: RoleAssignmentsListForResourceOptionalParams): PagedAsyncIterableIterator; /** * List all role assignments that apply to a scope. * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: * '/subscriptions/{subscriptionId}'), resource group (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' * @param options The options parameters. */ listForScope(scope: string, options?: RoleAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get a role assignment by scope and name. * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: * '/subscriptions/{subscriptionId}'), resource group (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. * @param options The options parameters. */ get(scope: string, roleAssignmentName: string, options?: RoleAssignmentsGetOptionalParams): Promise; /** * Create or update a role assignment by scope and name. * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: * '/subscriptions/{subscriptionId}'), resource group (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. * @param parameters Parameters for the role assignment. * @param options The options parameters. */ create(scope: string, roleAssignmentName: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateOptionalParams): Promise; /** * Delete a role assignment by scope and name. * @param scope The scope of the operation or resource. Valid scopes are: subscription (format: * '/subscriptions/{subscriptionId}'), resource group (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: * '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' * @param roleAssignmentName The name of the role assignment. It can be any valid GUID. * @param options The options parameters. */ delete(scope: string, roleAssignmentName: string, options?: RoleAssignmentsDeleteOptionalParams): Promise; /** * Get a role assignment by ID. * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource * name, and resource type. Format: * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ * @param options The options parameters. */ getById(roleAssignmentId: string, options?: RoleAssignmentsGetByIdOptionalParams): Promise; /** * Create or update a role assignment by ID. * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource * name, and resource type. Format: * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ * @param parameters Parameters for the role assignment. * @param options The options parameters. */ createById(roleAssignmentId: string, parameters: RoleAssignmentCreateParameters, options?: RoleAssignmentsCreateByIdOptionalParams): Promise; /** * Delete a role assignment by ID. * @param roleAssignmentId The fully qualified ID of the role assignment including scope, resource * name, and resource type. Format: * /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: * /subscriptions//resourcegroups//providers/Microsoft.Authorization/roleAssignments/ * @param options The options parameters. */ deleteById(roleAssignmentId: string, options?: RoleAssignmentsDeleteByIdOptionalParams): Promise; } /** Role Assignment schedule */ export declare 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; /** 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 assignment schedule filter */ export declare 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; } /** Information about current or upcoming role assignment schedule instance */ export declare 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 instance filter */ export declare 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 instance list operation result. */ export declare interface RoleAssignmentScheduleInstanceListResult { /** Role assignment schedule instance list. */ value?: RoleAssignmentScheduleInstance[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a RoleAssignmentScheduleInstances. */ export declare interface RoleAssignmentScheduleInstances { /** * Gets role assignment schedule instances of a role assignment schedule. * @param scope The scope of the role assignment schedule. * @param options The options parameters. */ listForScope(scope: string, options?: RoleAssignmentScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Gets the specified role assignment schedule instance. * @param scope The scope of the role assignments schedules. * @param roleAssignmentScheduleInstanceName The name (hash of schedule name + time) of the role * assignment schedule to get. * @param options The options parameters. */ get(scope: string, roleAssignmentScheduleInstanceName: string, options?: RoleAssignmentScheduleInstancesGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleAssignmentScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleAssignmentScheduleInstancesGetResponse = RoleAssignmentScheduleInstance; /** Optional parameters. */ export declare interface RoleAssignmentScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleAssignmentScheduleInstancesListForScopeNextResponse = RoleAssignmentScheduleInstanceListResult; /** Optional parameters. */ export declare interface RoleAssignmentScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedule instances for the user. Use $filter=asTarget() to return all role assignment schedule instances created for the current user. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleAssignmentScheduleInstancesListForScopeResponse = RoleAssignmentScheduleInstanceListResult; /** Role assignment schedule list operation result. */ export declare interface RoleAssignmentScheduleListResult { /** Role assignment schedule list. */ value?: RoleAssignmentSchedule[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Role Assignment schedule request */ export declare 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; } /** Role assignment schedule request filter */ export declare 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 assignment schedule request list operation result. */ export declare interface RoleAssignmentScheduleRequestListResult { /** Role assignment schedule request list. */ value?: RoleAssignmentScheduleRequest[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Schedule info of the role assignment schedule */ export declare 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 declare 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 declare interface RoleAssignmentScheduleRequestPropertiesTicketInfo { /** Ticket number for the role assignment */ ticketNumber?: string; /** Ticket system name for the role assignment */ ticketSystem?: string; } /** Interface representing a RoleAssignmentScheduleRequests. */ export declare interface RoleAssignmentScheduleRequests { /** * Gets role assignment schedule requests for a scope. * @param scope The scope of the role assignments schedule requests. * @param options The options parameters. */ listForScope(scope: string, options?: RoleAssignmentScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Creates a role assignment schedule request. * @param scope The scope of the role assignment schedule request to create. The scope can be any REST * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' * for a resource. * @param roleAssignmentScheduleRequestName A GUID for the role assignment to create. The name must be * unique and different for each role assignment. * @param parameters Parameters for the role assignment schedule request. * @param options The options parameters. */ create(scope: string, roleAssignmentScheduleRequestName: string, parameters: RoleAssignmentScheduleRequest, options?: RoleAssignmentScheduleRequestsCreateOptionalParams): Promise; /** * Get the specified role assignment schedule request. * @param scope The scope of the role assignment schedule request. * @param roleAssignmentScheduleRequestName The name (guid) of the role assignment schedule request to * get. * @param options The options parameters. */ get(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsGetOptionalParams): Promise; /** * Cancels a pending role assignment schedule request. * @param scope The scope of the role assignment request to cancel. * @param roleAssignmentScheduleRequestName The name of the role assignment request to cancel. * @param options The options parameters. */ cancel(scope: string, roleAssignmentScheduleRequestName: string, options?: RoleAssignmentScheduleRequestsCancelOptionalParams): Promise; /** * Validates a new role assignment schedule request. * @param scope The scope of the role assignment request to validate. * @param roleAssignmentScheduleRequestName The name of the role assignment request to validate. * @param parameters Parameters for the role assignment schedule request. * @param options The options parameters. */ validate(scope: string, roleAssignmentScheduleRequestName: string, parameters: RoleAssignmentScheduleRequest, options?: RoleAssignmentScheduleRequestsValidateOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the create operation. */ export declare type RoleAssignmentScheduleRequestsCreateResponse = RoleAssignmentScheduleRequest; /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleAssignmentScheduleRequestsGetResponse = RoleAssignmentScheduleRequest; /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleAssignmentScheduleRequestsListForScopeNextResponse = RoleAssignmentScheduleRequestListResult; /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role assignment schedule requests created for the current user. Use $filter=asApprover() to return all role assignment schedule requests where the current user is an approver. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleAssignmentScheduleRequestsListForScopeResponse = RoleAssignmentScheduleRequestListResult; /** Optional parameters. */ export declare interface RoleAssignmentScheduleRequestsValidateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the validate operation. */ export declare type RoleAssignmentScheduleRequestsValidateResponse = RoleAssignmentScheduleRequest; /** Interface representing a RoleAssignmentSchedules. */ export declare interface RoleAssignmentSchedules { /** * Gets role assignment schedules for a resource scope. * @param scope The scope of the role assignments schedules. * @param options The options parameters. */ listForScope(scope: string, options?: RoleAssignmentSchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get the specified role assignment schedule for a resource scope * @param scope The scope of the role assignment schedule. * @param roleAssignmentScheduleName The name (guid) of the role assignment schedule to get. * @param options The options parameters. */ get(scope: string, roleAssignmentScheduleName: string, options?: RoleAssignmentSchedulesGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleAssignmentSchedulesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleAssignmentSchedulesGetResponse = RoleAssignmentSchedule; /** Optional parameters. */ export declare interface RoleAssignmentSchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleAssignmentSchedulesListForScopeNextResponse = RoleAssignmentScheduleListResult; /** Optional parameters. */ export declare interface RoleAssignmentSchedulesListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role assignment schedules for the current user. Use $filter=asTarget() to return all role assignment schedules created for the current user. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleAssignmentSchedulesListForScopeResponse = RoleAssignmentScheduleListResult; /** Optional parameters. */ export declare interface RoleAssignmentsCreateByIdOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the createById operation. */ export declare type RoleAssignmentsCreateByIdResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsCreateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the create operation. */ export declare type RoleAssignmentsCreateResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsDeleteByIdOptionalParams extends coreClient.OperationOptions { /** Tenant ID for cross-tenant request */ tenantId?: string; } /** Contains response data for the deleteById operation. */ export declare type RoleAssignmentsDeleteByIdResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { /** Tenant ID for cross-tenant request */ tenantId?: string; } /** Contains response data for the delete operation. */ export declare type RoleAssignmentsDeleteResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsGetByIdOptionalParams extends coreClient.OperationOptions { /** Tenant ID for cross-tenant request */ tenantId?: string; } /** Contains response data for the getById operation. */ export declare type RoleAssignmentsGetByIdResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsGetOptionalParams extends coreClient.OperationOptions { /** Tenant ID for cross-tenant request */ tenantId?: string; } /** Contains response data for the get operation. */ export declare type RoleAssignmentsGetResponse = RoleAssignment; /** Optional parameters. */ export declare interface RoleAssignmentsListForResourceGroupNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceGroupNext operation. */ export declare type RoleAssignmentsListForResourceGroupNextResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare 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 declare type RoleAssignmentsListForResourceGroupResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare interface RoleAssignmentsListForResourceNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForResourceNext operation. */ export declare type RoleAssignmentsListForResourceNextResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare 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 declare type RoleAssignmentsListForResourceResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare interface RoleAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleAssignmentsListForScopeNextResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare 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 declare type RoleAssignmentsListForScopeResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare interface RoleAssignmentsListForSubscriptionNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForSubscriptionNext operation. */ export declare type RoleAssignmentsListForSubscriptionNextResponse = RoleAssignmentListResult; /** Optional parameters. */ export declare 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 declare type RoleAssignmentsListForSubscriptionResponse = RoleAssignmentListResult; /** Role definition. */ export declare interface RoleDefinition { /** * The role definition ID. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The role definition name. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The role definition type. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** The role name. */ roleName?: string; /** The role definition description. */ description?: string; /** The role type. */ roleType?: string; /** Role definition permissions. */ permissions?: Permission[]; /** Role definition assignable scopes. */ assignableScopes?: string[]; /** * Time it was created * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdOn?: Date; /** * Time it was updated * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedOn?: Date; /** * Id of the user who created the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly createdBy?: string; /** * Id of the user who updated the assignment * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly updatedBy?: string; } /** Role Definitions filter */ export declare interface RoleDefinitionFilter { /** Returns role definition with the specific name. */ roleName?: string; /** Returns role definition with the specific type. */ type?: string; } /** Role definition list operation result. */ export declare interface RoleDefinitionListResult { /** Role definition list. */ value?: RoleDefinition[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a RoleDefinitions. */ export declare interface RoleDefinitions { /** * Get all role definitions that are applicable at scope and above. * @param scope The scope of the role definition. * @param options The options parameters. */ list(scope: string, options?: RoleDefinitionsListOptionalParams): PagedAsyncIterableIterator; /** * Deletes a role definition. * @param scope The scope of the role definition. * @param roleDefinitionId The ID of the role definition to delete. * @param options The options parameters. */ delete(scope: string, roleDefinitionId: string, options?: RoleDefinitionsDeleteOptionalParams): Promise; /** * Get role definition by name (GUID). * @param scope The scope of the role definition. * @param roleDefinitionId The ID of the role definition. * @param options The options parameters. */ get(scope: string, roleDefinitionId: string, options?: RoleDefinitionsGetOptionalParams): Promise; /** * Creates or updates a role definition. * @param scope The scope of the role definition. * @param roleDefinitionId The ID of the role definition. * @param roleDefinition The values for the role definition. * @param options The options parameters. */ createOrUpdate(scope: string, roleDefinitionId: string, roleDefinition: RoleDefinition, options?: RoleDefinitionsCreateOrUpdateOptionalParams): Promise; /** * Gets a role definition by ID. * @param roleId The fully qualified role definition ID. Use the format, * /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for * subscription level role definitions, or * /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role * definitions. * @param options The options parameters. */ getById(roleId: string, options?: RoleDefinitionsGetByIdOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleDefinitionsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the createOrUpdate operation. */ export declare type RoleDefinitionsCreateOrUpdateResponse = RoleDefinition; /** Optional parameters. */ export declare interface RoleDefinitionsDeleteOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the delete operation. */ export declare type RoleDefinitionsDeleteResponse = RoleDefinition; /** Optional parameters. */ export declare interface RoleDefinitionsGetByIdOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the getById operation. */ export declare type RoleDefinitionsGetByIdResponse = RoleDefinition; /** Optional parameters. */ export declare interface RoleDefinitionsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleDefinitionsGetResponse = RoleDefinition; /** Optional parameters. */ export declare interface RoleDefinitionsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type RoleDefinitionsListNextResponse = RoleDefinitionListResult; /** Optional parameters. */ export declare 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; } /** Contains response data for the list operation. */ export declare type RoleDefinitionsListResponse = RoleDefinitionListResult; /** Role eligibility schedule */ export declare 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 filter */ export declare 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; } /** Information about current or upcoming role eligibility schedule instance */ export declare 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 instance filter */ export declare 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 instance list operation result. */ export declare interface RoleEligibilityScheduleInstanceListResult { /** Role eligibility schedule instance list. */ value?: RoleEligibilityScheduleInstance[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a RoleEligibilityScheduleInstances. */ export declare interface RoleEligibilityScheduleInstances { /** * Gets role eligibility schedule instances of a role eligibility schedule. * @param scope The scope of the role eligibility schedule. * @param options The options parameters. */ listForScope(scope: string, options?: RoleEligibilityScheduleInstancesListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Gets the specified role eligibility schedule instance. * @param scope The scope of the role eligibility schedules. * @param roleEligibilityScheduleInstanceName The name (hash of schedule name + time) of the role * eligibility schedule to get. * @param options The options parameters. */ get(scope: string, roleEligibilityScheduleInstanceName: string, options?: RoleEligibilityScheduleInstancesGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleEligibilityScheduleInstancesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleEligibilityScheduleInstancesGetResponse = RoleEligibilityScheduleInstance; /** Optional parameters. */ export declare interface RoleEligibilityScheduleInstancesListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleEligibilityScheduleInstancesListForScopeNextResponse = RoleEligibilityScheduleInstanceListResult; /** Optional parameters. */ export declare interface RoleEligibilityScheduleInstancesListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedules at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleEligibilityScheduleInstancesListForScopeResponse = RoleEligibilityScheduleInstanceListResult; /** role eligibility schedule list operation result. */ export declare interface RoleEligibilityScheduleListResult { /** role eligibility schedule list. */ value?: RoleEligibilitySchedule[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Role Eligibility schedule request */ export declare 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; } /** Role eligibility schedule request filter */ export declare 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; } /** Role eligibility schedule request list operation result. */ export declare interface RoleEligibilityScheduleRequestListResult { /** Role eligibility schedule request list. */ value?: RoleEligibilityScheduleRequest[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Schedule info of the role eligibility schedule */ export declare 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 declare 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 declare interface RoleEligibilityScheduleRequestPropertiesTicketInfo { /** Ticket number for the role eligibility */ ticketNumber?: string; /** Ticket system name for the role eligibility */ ticketSystem?: string; } /** Interface representing a RoleEligibilityScheduleRequests. */ export declare interface RoleEligibilityScheduleRequests { /** * Gets role eligibility schedule requests for a scope. * @param scope The scope of the role eligibility schedule requests. * @param options The options parameters. */ listForScope(scope: string, options?: RoleEligibilityScheduleRequestsListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Creates a role eligibility schedule request. * @param scope The scope of the role eligibility schedule request to create. The scope can be any REST * resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and * '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' * for a resource. * @param roleEligibilityScheduleRequestName The name of the role eligibility to create. It can be any * valid GUID. * @param parameters Parameters for the role eligibility schedule request. * @param options The options parameters. */ create(scope: string, roleEligibilityScheduleRequestName: string, parameters: RoleEligibilityScheduleRequest, options?: RoleEligibilityScheduleRequestsCreateOptionalParams): Promise; /** * Get the specified role eligibility schedule request. * @param scope The scope of the role eligibility schedule request. * @param roleEligibilityScheduleRequestName The name (guid) of the role eligibility schedule request * to get. * @param options The options parameters. */ get(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsGetOptionalParams): Promise; /** * Cancels a pending role eligibility schedule request. * @param scope The scope of the role eligibility request to cancel. * @param roleEligibilityScheduleRequestName The name of the role eligibility request to cancel. * @param options The options parameters. */ cancel(scope: string, roleEligibilityScheduleRequestName: string, options?: RoleEligibilityScheduleRequestsCancelOptionalParams): Promise; /** * Validates a new role eligibility schedule request. * @param scope The scope of the role eligibility request to validate. * @param roleEligibilityScheduleRequestName The name of the role eligibility request to validate. * @param parameters Parameters for the role eligibility schedule request. * @param options The options parameters. */ validate(scope: string, roleEligibilityScheduleRequestName: string, parameters: RoleEligibilityScheduleRequest, options?: RoleEligibilityScheduleRequestsValidateOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsCancelOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsCreateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the create operation. */ export declare type RoleEligibilityScheduleRequestsCreateResponse = RoleEligibilityScheduleRequest; /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleEligibilityScheduleRequestsGetResponse = RoleEligibilityScheduleRequest; /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleEligibilityScheduleRequestsListForScopeNextResponse = RoleEligibilityScheduleRequestListResult; /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role eligibility schedule requests where the current user is an approver. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleEligibilityScheduleRequestsListForScopeResponse = RoleEligibilityScheduleRequestListResult; /** Optional parameters. */ export declare interface RoleEligibilityScheduleRequestsValidateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the validate operation. */ export declare type RoleEligibilityScheduleRequestsValidateResponse = RoleEligibilityScheduleRequest; /** Interface representing a RoleEligibilitySchedules. */ export declare interface RoleEligibilitySchedules { /** * Gets role eligibility schedules for a resource scope. * @param scope The scope of the role eligibility schedules. * @param options The options parameters. */ listForScope(scope: string, options?: RoleEligibilitySchedulesListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get the specified role eligibility schedule for a resource scope * @param scope The scope of the role eligibility schedule. * @param roleEligibilityScheduleName The name (guid) of the role eligibility schedule to get. * @param options The options parameters. */ get(scope: string, roleEligibilityScheduleName: string, options?: RoleEligibilitySchedulesGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleEligibilitySchedulesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleEligibilitySchedulesGetResponse = RoleEligibilitySchedule; /** Optional parameters. */ export declare interface RoleEligibilitySchedulesListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleEligibilitySchedulesListForScopeNextResponse = RoleEligibilityScheduleListResult; /** Optional parameters. */ export declare interface RoleEligibilitySchedulesListForScopeOptionalParams extends coreClient.OperationOptions { /** The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedules at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedules at, above or below the scope for the specified principal. Use $filter=assignedTo('{userId}') to return all role eligibility schedules for the user. Use $filter=asTarget() to return all role eligibility schedules created for the current user. */ filter?: string; } /** Contains response data for the listForScope operation. */ export declare type RoleEligibilitySchedulesListForScopeResponse = RoleEligibilityScheduleListResult; /** Interface representing a RoleManagementPolicies. */ export declare interface RoleManagementPolicies { /** * Gets role management policies for a resource scope. * @param scope The scope of the role management policy. * @param options The options parameters. */ listForScope(scope: string, options?: RoleManagementPoliciesListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get the specified role management policy for a resource scope * @param scope The scope of the role management policy. * @param roleManagementPolicyName The name (guid) of the role management policy to get. * @param options The options parameters. */ get(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesGetOptionalParams): Promise; /** * Update a role management policy * @param scope The scope of the role management policy to upsert. * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. * @param parameters Parameters for the role management policy. * @param options The options parameters. */ update(scope: string, roleManagementPolicyName: string, parameters: RoleManagementPolicy, options?: RoleManagementPoliciesUpdateOptionalParams): Promise; /** * Delete a role management policy * @param scope The scope of the role management policy to upsert. * @param roleManagementPolicyName The name (guid) of the role management policy to upsert. * @param options The options parameters. */ delete(scope: string, roleManagementPolicyName: string, options?: RoleManagementPoliciesDeleteOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleManagementPoliciesDeleteOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface RoleManagementPoliciesGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleManagementPoliciesGetResponse = RoleManagementPolicy; /** Optional parameters. */ export declare interface RoleManagementPoliciesListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleManagementPoliciesListForScopeNextResponse = RoleManagementPolicyListResult; /** Optional parameters. */ export declare interface RoleManagementPoliciesListForScopeOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScope operation. */ export declare type RoleManagementPoliciesListForScopeResponse = RoleManagementPolicyListResult; /** Optional parameters. */ export declare interface RoleManagementPoliciesUpdateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the update operation. */ export declare type RoleManagementPoliciesUpdateResponse = RoleManagementPolicy; /** Role management policy */ export declare 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 approval rule. */ export declare interface RoleManagementPolicyApprovalRule extends RoleManagementPolicyRule { /** Polymorphic discriminator, which specifies the different types this object can be */ ruleType: "RoleManagementPolicyApprovalRule"; /** The approval setting */ setting?: ApprovalSettings; } /** Role management policy */ export declare 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; /** * 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, role definition and policy * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly policyAssignmentProperties?: PolicyAssignmentProperties; } /** Role management policy assignment list operation result. */ export declare interface RoleManagementPolicyAssignmentListResult { /** Role management policy assignment list. */ value?: RoleManagementPolicyAssignment[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** Interface representing a RoleManagementPolicyAssignments. */ export declare interface RoleManagementPolicyAssignments { /** * Gets role management assignment policies for a resource scope. * @param scope The scope of the role management policy. * @param options The options parameters. */ listForScope(scope: string, options?: RoleManagementPolicyAssignmentsListForScopeOptionalParams): PagedAsyncIterableIterator; /** * Get the specified role management policy assignment for a resource scope * @param scope The scope of the role management policy. * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy * assignment to get. * @param options The options parameters. */ get(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsGetOptionalParams): Promise; /** * Create a role management policy assignment * @param scope The scope of the role management policy assignment to upsert. * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy * assignment to upsert. * @param parameters Parameters for the role management policy assignment. * @param options The options parameters. */ create(scope: string, roleManagementPolicyAssignmentName: string, parameters: RoleManagementPolicyAssignment, options?: RoleManagementPolicyAssignmentsCreateOptionalParams): Promise; /** * Delete a role management policy assignment * @param scope The scope of the role management policy assignment to delete. * @param roleManagementPolicyAssignmentName The name of format {guid_guid} the role management policy * assignment to delete. * @param options The options parameters. */ delete(scope: string, roleManagementPolicyAssignmentName: string, options?: RoleManagementPolicyAssignmentsDeleteOptionalParams): Promise; } /** Optional parameters. */ export declare interface RoleManagementPolicyAssignmentsCreateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the create operation. */ export declare type RoleManagementPolicyAssignmentsCreateResponse = RoleManagementPolicyAssignment; /** Optional parameters. */ export declare interface RoleManagementPolicyAssignmentsDeleteOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface RoleManagementPolicyAssignmentsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type RoleManagementPolicyAssignmentsGetResponse = RoleManagementPolicyAssignment; /** Optional parameters. */ export declare interface RoleManagementPolicyAssignmentsListForScopeNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScopeNext operation. */ export declare type RoleManagementPolicyAssignmentsListForScopeNextResponse = RoleManagementPolicyAssignmentListResult; /** Optional parameters. */ export declare interface RoleManagementPolicyAssignmentsListForScopeOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listForScope operation. */ export declare type RoleManagementPolicyAssignmentsListForScopeResponse = RoleManagementPolicyAssignmentListResult; /** The role management policy authentication context rule. */ export declare 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 declare 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 declare 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; } /** Role management policy list operation result. */ export declare interface RoleManagementPolicyListResult { /** Role management policy list. */ value?: RoleManagementPolicy[]; /** The URL to use for getting the next set of results. */ nextLink?: string; } /** The role management policy notification rule. */ export declare 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; } /** The role management policy rule. */ export declare 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 declare 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[]; } /** * 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 declare type RoleManagementPolicyRuleType = string; export declare type RoleManagementPolicyRuleUnion = RoleManagementPolicyRule | RoleManagementPolicyApprovalRule | RoleManagementPolicyAuthenticationContextRule | RoleManagementPolicyEnablementRule | RoleManagementPolicyExpirationRule | RoleManagementPolicyNotificationRule; /** * 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 declare type Status = string; /** * 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 declare type Type = string; /** The detail of a user. */ export declare 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; } /** * 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 declare type UserType = string; /** Validation response */ export declare 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; } /** Failed validation result details */ export declare 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; } export { }