/* * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { ClassicAdministratorsImpl, GlobalAdministratorImpl, DenyAssignmentsImpl, ProviderOperationsMetadataOperationsImpl, RoleAssignmentsImpl, PermissionsImpl, RoleDefinitionsImpl, EligibleChildResourcesImpl, RoleAssignmentSchedulesImpl, RoleAssignmentScheduleInstancesImpl, RoleAssignmentScheduleRequestsImpl, RoleEligibilitySchedulesImpl, RoleEligibilityScheduleInstancesImpl, RoleEligibilityScheduleRequestsImpl, RoleManagementPoliciesImpl, RoleManagementPolicyAssignmentsImpl } from "./operations"; import { ClassicAdministrators, GlobalAdministrator, DenyAssignments, ProviderOperationsMetadataOperations, RoleAssignments, Permissions, RoleDefinitions, EligibleChildResources, RoleAssignmentSchedules, RoleAssignmentScheduleInstances, RoleAssignmentScheduleRequests, RoleEligibilitySchedules, RoleEligibilityScheduleInstances, RoleEligibilityScheduleRequests, RoleManagementPolicies, RoleManagementPolicyAssignments } from "./operationsInterfaces"; import { AuthorizationManagementClientOptionalParams } from "./models"; export class AuthorizationManagementClient extends coreClient.ServiceClient { $host: string; subscriptionId: string; /** * Initializes a new instance of the AuthorizationManagementClient class. * @param credentials Subscription credentials which uniquely identify client subscription. * @param subscriptionId The ID of the target subscription. * @param options The parameter options */ constructor( credentials: coreAuth.TokenCredential, subscriptionId: string, options?: AuthorizationManagementClientOptionalParams ) { if (credentials === undefined) { throw new Error("'credentials' cannot be null"); } if (subscriptionId === undefined) { throw new Error("'subscriptionId' cannot be null"); } // Initializing default values for options if (!options) { options = {}; } const defaults: AuthorizationManagementClientOptionalParams = { requestContentType: "application/json; charset=utf-8", credential: credentials }; const packageDetails = `azsdk-js-arm-authorization/9.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` : `${packageDetails}`; const optionsWithDefaults = { ...defaults, ...options, userAgentOptions: { userAgentPrefix }, endpoint: options.endpoint ?? options.baseUri ?? "https://management.azure.com" }; super(optionsWithDefaults); let bearerTokenAuthenticationPolicyFound: boolean = false; if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( (pipelinePolicy) => pipelinePolicy.name === coreRestPipeline.bearerTokenAuthenticationPolicyName ); } if ( !options || !options.pipeline || options.pipeline.getOrderedPolicies().length == 0 || !bearerTokenAuthenticationPolicyFound ) { this.pipeline.removePolicy({ name: coreRestPipeline.bearerTokenAuthenticationPolicyName }); this.pipeline.addPolicy( coreRestPipeline.bearerTokenAuthenticationPolicy({ credential: credentials, scopes: optionsWithDefaults.credentialScopes ?? `${optionsWithDefaults.endpoint}/.default`, challengeCallbacks: { authorizeRequestOnChallenge: coreClient.authorizeRequestOnClaimChallenge } }) ); } // Parameter assignments this.subscriptionId = subscriptionId; // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; this.classicAdministrators = new ClassicAdministratorsImpl(this); this.globalAdministrator = new GlobalAdministratorImpl(this); this.denyAssignments = new DenyAssignmentsImpl(this); this.providerOperationsMetadataOperations = new ProviderOperationsMetadataOperationsImpl( this ); this.roleAssignments = new RoleAssignmentsImpl(this); this.permissions = new PermissionsImpl(this); this.roleDefinitions = new RoleDefinitionsImpl(this); this.eligibleChildResources = new EligibleChildResourcesImpl(this); this.roleAssignmentSchedules = new RoleAssignmentSchedulesImpl(this); this.roleAssignmentScheduleInstances = new RoleAssignmentScheduleInstancesImpl( this ); this.roleAssignmentScheduleRequests = new RoleAssignmentScheduleRequestsImpl( this ); this.roleEligibilitySchedules = new RoleEligibilitySchedulesImpl(this); this.roleEligibilityScheduleInstances = new RoleEligibilityScheduleInstancesImpl( this ); this.roleEligibilityScheduleRequests = new RoleEligibilityScheduleRequestsImpl( this ); this.roleManagementPolicies = new RoleManagementPoliciesImpl(this); this.roleManagementPolicyAssignments = new RoleManagementPolicyAssignmentsImpl( this ); } classicAdministrators: ClassicAdministrators; globalAdministrator: GlobalAdministrator; denyAssignments: DenyAssignments; providerOperationsMetadataOperations: ProviderOperationsMetadataOperations; roleAssignments: RoleAssignments; permissions: Permissions; roleDefinitions: RoleDefinitions; eligibleChildResources: EligibleChildResources; roleAssignmentSchedules: RoleAssignmentSchedules; roleAssignmentScheduleInstances: RoleAssignmentScheduleInstances; roleAssignmentScheduleRequests: RoleAssignmentScheduleRequests; roleEligibilitySchedules: RoleEligibilitySchedules; roleEligibilityScheduleInstances: RoleEligibilityScheduleInstances; roleEligibilityScheduleRequests: RoleEligibilityScheduleRequests; roleManagementPolicies: RoleManagementPolicies; roleManagementPolicyAssignments: RoleManagementPolicyAssignments; }