require 'microsoft_kiota_abstractions' require 'microsoft_kiota_serialization_json' require_relative './admin/admin_request_builder' require_relative './agreement_acceptances/agreement_acceptances_request_builder' require_relative './agreements/agreements_request_builder' require_relative './app_catalogs/app_catalogs_request_builder' require_relative './applications/applications_request_builder' require_relative './applications_with_app_id/applications_with_app_id_request_builder' require_relative './application_templates/application_templates_request_builder' require_relative './audit_logs/audit_logs_request_builder' require_relative './authentication_method_configurations/authentication_method_configurations_request_builder' require_relative './authentication_methods_policy/authentication_methods_policy_request_builder' require_relative './certificate_based_auth_configuration/certificate_based_auth_configuration_request_builder' require_relative './chats/chats_request_builder' require_relative './communications/communications_request_builder' require_relative './compliance/compliance_request_builder' require_relative './connections/connections_request_builder' require_relative './contacts/contacts_request_builder' require_relative './contracts/contracts_request_builder' require_relative './data_policy_operations/data_policy_operations_request_builder' require_relative './device_app_management/device_app_management_request_builder' require_relative './device_management/device_management_request_builder' require_relative './devices/devices_request_builder' require_relative './devices_with_device_id/devices_with_device_id_request_builder' require_relative './directory/directory_request_builder' require_relative './directory_objects/directory_objects_request_builder' require_relative './directory_roles/directory_roles_request_builder' require_relative './directory_roles_with_role_template_id/directory_roles_with_role_template_id_request_builder' require_relative './directory_role_templates/directory_role_templates_request_builder' require_relative './domain_dns_records/domain_dns_records_request_builder' require_relative './domains/domains_request_builder' require_relative './drives/drives_request_builder' require_relative './education/education_request_builder' require_relative './employee_experience/employee_experience_request_builder' require_relative './external/external_request_builder' require_relative './filter_operators/filter_operators_request_builder' require_relative './functions/functions_request_builder' require_relative './group_lifecycle_policies/group_lifecycle_policies_request_builder' require_relative './groups/groups_request_builder' require_relative './group_settings/group_settings_request_builder' require_relative './group_setting_templates/group_setting_templates_request_builder' require_relative './identity/identity_request_builder' require_relative './identity_governance/identity_governance_request_builder' require_relative './identity_protection/identity_protection_request_builder' require_relative './identity_providers/identity_providers_request_builder' require_relative './information_protection/information_protection_request_builder' require_relative './invitations/invitations_request_builder' require_relative './me/me_request_builder' require_relative './microsoft_graph' require_relative './oauth2_permission_grants/oauth2_permission_grants_request_builder' require_relative './organization/organization_request_builder' require_relative './permission_grants/permission_grants_request_builder' require_relative './places/places_request_builder' require_relative './planner/planner_request_builder' require_relative './policies/policies_request_builder' require_relative './print/print_request_builder' require_relative './privacy/privacy_request_builder' require_relative './reports/reports_request_builder' require_relative './role_management/role_management_request_builder' require_relative './schema_extensions/schema_extensions_request_builder' require_relative './scoped_role_memberships/scoped_role_memberships_request_builder' require_relative './search/search_request_builder' require_relative './security/security_request_builder' require_relative './service_principals/service_principals_request_builder' require_relative './service_principals_with_app_id/service_principals_with_app_id_request_builder' require_relative './shares/shares_request_builder' require_relative './sites/sites_request_builder' require_relative './solutions/solutions_request_builder' require_relative './subscribed_skus/subscribed_skus_request_builder' require_relative './subscriptions/subscriptions_request_builder' require_relative './teams/teams_request_builder' require_relative './teams_templates/teams_templates_request_builder' require_relative './teamwork/teamwork_request_builder' require_relative './tenant_relationships/tenant_relationships_request_builder' require_relative './users/users_request_builder' module MicrosoftGraph ## # The main entry point of the SDK, exposes the configuration and the fluent API. class GraphBaseServiceClient < MicrosoftKiotaAbstractions::BaseRequestBuilder ## # Provides operations to manage the admin singleton. def admin() return MicrosoftGraph::Admin::AdminRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of agreementAcceptance entities. def agreement_acceptances() return MicrosoftGraph::AgreementAcceptances::AgreementAcceptancesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of agreement entities. def agreements() return MicrosoftGraph::Agreements::AgreementsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the appCatalogs singleton. def app_catalogs() return MicrosoftGraph::AppCatalogs::AppCatalogsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of application entities. def applications() return MicrosoftGraph::Applications::ApplicationsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of applicationTemplate entities. def application_templates() return MicrosoftGraph::ApplicationTemplates::ApplicationTemplatesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the auditLogRoot singleton. def audit_logs() return MicrosoftGraph::AuditLogs::AuditLogsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of authenticationMethodConfiguration entities. def authentication_method_configurations() return MicrosoftGraph::AuthenticationMethodConfigurations::AuthenticationMethodConfigurationsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the authenticationMethodsPolicy singleton. def authentication_methods_policy() return MicrosoftGraph::AuthenticationMethodsPolicy::AuthenticationMethodsPolicyRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of certificateBasedAuthConfiguration entities. def certificate_based_auth_configuration() return MicrosoftGraph::CertificateBasedAuthConfiguration::CertificateBasedAuthConfigurationRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of chat entities. def chats() return MicrosoftGraph::Chats::ChatsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the cloudCommunications singleton. def communications() return MicrosoftGraph::Communications::CommunicationsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the compliance singleton. def compliance() return MicrosoftGraph::Compliance::ComplianceRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of externalConnection entities. def connections() return MicrosoftGraph::Connections::ConnectionsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of orgContact entities. def contacts() return MicrosoftGraph::Contacts::ContactsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of contract entities. def contracts() return MicrosoftGraph::Contracts::ContractsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of dataPolicyOperation entities. def data_policy_operations() return MicrosoftGraph::DataPolicyOperations::DataPolicyOperationsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the deviceAppManagement singleton. def device_app_management() return MicrosoftGraph::DeviceAppManagement::DeviceAppManagementRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the deviceManagement singleton. def device_management() return MicrosoftGraph::DeviceManagement::DeviceManagementRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of device entities. def devices() return MicrosoftGraph::Devices::DevicesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the directory singleton. def directory() return MicrosoftGraph::Directory::DirectoryRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of directoryObject entities. def directory_objects() return MicrosoftGraph::DirectoryObjects::DirectoryObjectsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of directoryRole entities. def directory_roles() return MicrosoftGraph::DirectoryRoles::DirectoryRolesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of directoryRoleTemplate entities. def directory_role_templates() return MicrosoftGraph::DirectoryRoleTemplates::DirectoryRoleTemplatesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of domainDnsRecord entities. def domain_dns_records() return MicrosoftGraph::DomainDnsRecords::DomainDnsRecordsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of domain entities. def domains() return MicrosoftGraph::Domains::DomainsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of drive entities. def drives() return MicrosoftGraph::Drives::DrivesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the educationRoot singleton. def education() return MicrosoftGraph::Education::EducationRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the employeeExperience singleton. def employee_experience() return MicrosoftGraph::EmployeeExperience::EmployeeExperienceRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the external singleton. def external() return MicrosoftGraph::External::ExternalRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of filterOperatorSchema entities. def filter_operators() return MicrosoftGraph::FilterOperators::FilterOperatorsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of attributeMappingFunctionSchema entities. def functions() return MicrosoftGraph::Functions::FunctionsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of groupLifecyclePolicy entities. def group_lifecycle_policies() return MicrosoftGraph::GroupLifecyclePolicies::GroupLifecyclePoliciesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of group entities. def groups() return MicrosoftGraph::Groups::GroupsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of groupSetting entities. def group_settings() return MicrosoftGraph::GroupSettings::GroupSettingsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of groupSettingTemplate entities. def group_setting_templates() return MicrosoftGraph::GroupSettingTemplates::GroupSettingTemplatesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the identityContainer singleton. def identity() return MicrosoftGraph::Identity::IdentityRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the identityGovernance singleton. def identity_governance() return MicrosoftGraph::IdentityGovernance::IdentityGovernanceRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the identityProtectionRoot singleton. def identity_protection() return MicrosoftGraph::IdentityProtection::IdentityProtectionRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of identityProvider entities. def identity_providers() return MicrosoftGraph::IdentityProviders::IdentityProvidersRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the informationProtection singleton. def information_protection() return MicrosoftGraph::InformationProtection::InformationProtectionRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of invitation entities. def invitations() return MicrosoftGraph::Invitations::InvitationsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the user singleton. def me() return MicrosoftGraph::Me::MeRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of oAuth2PermissionGrant entities. def oauth2_permission_grants() return MicrosoftGraph::Oauth2PermissionGrants::Oauth2PermissionGrantsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of organization entities. def organization() return MicrosoftGraph::Organization::OrganizationRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of resourceSpecificPermissionGrant entities. def permission_grants() return MicrosoftGraph::PermissionGrants::PermissionGrantsRequestBuilder.new(@path_parameters, @request_adapter) end ## # The places property def places() return MicrosoftGraph::Places::PlacesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the planner singleton. def planner() return MicrosoftGraph::Planner::PlannerRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the policyRoot singleton. def policies() return MicrosoftGraph::Policies::PoliciesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the print singleton. def print() return MicrosoftGraph::Print::PrintRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the privacy singleton. def privacy() return MicrosoftGraph::Privacy::PrivacyRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the reportRoot singleton. def reports() return MicrosoftGraph::Reports::ReportsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the roleManagement singleton. def role_management() return MicrosoftGraph::RoleManagement::RoleManagementRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of schemaExtension entities. def schema_extensions() return MicrosoftGraph::SchemaExtensions::SchemaExtensionsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of scopedRoleMembership entities. def scoped_role_memberships() return MicrosoftGraph::ScopedRoleMemberships::ScopedRoleMembershipsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the searchEntity singleton. def search() return MicrosoftGraph::Search::SearchRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the security singleton. def security() return MicrosoftGraph::Security::SecurityRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of servicePrincipal entities. def service_principals() return MicrosoftGraph::ServicePrincipals::ServicePrincipalsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of sharedDriveItem entities. def shares() return MicrosoftGraph::Shares::SharesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of site entities. def sites() return MicrosoftGraph::Sites::SitesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the solutionsRoot singleton. def solutions() return MicrosoftGraph::Solutions::SolutionsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of subscribedSku entities. def subscribed_skus() return MicrosoftGraph::SubscribedSkus::SubscribedSkusRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of subscription entities. def subscriptions() return MicrosoftGraph::Subscriptions::SubscriptionsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of team entities. def teams() return MicrosoftGraph::Teams::TeamsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of teamsTemplate entities. def teams_templates() return MicrosoftGraph::TeamsTemplates::TeamsTemplatesRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the teamwork singleton. def teamwork() return MicrosoftGraph::Teamwork::TeamworkRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the tenantRelationship singleton. def tenant_relationships() return MicrosoftGraph::TenantRelationships::TenantRelationshipsRequestBuilder.new(@path_parameters, @request_adapter) end ## # Provides operations to manage the collection of user entities. def users() return MicrosoftGraph::Users::UsersRequestBuilder.new(@path_parameters, @request_adapter) end ## ## Provides operations to manage the collection of application entities. ## @param app_id Alternate key of application ## @return a applications_with_app_id_request_builder ## def applications_with_app_id(app_id) raise StandardError, 'app_id cannot be null' if app_id.nil? return ApplicationsWithAppIdRequestBuilder.new(@path_parameters, @request_adapter, appId) end ## ## Instantiates a new GraphBaseServiceClient and sets the default values. ## @param request_adapter The request adapter to use to execute the requests. ## @return a void ## def initialize(request_adapter) super(Hash.new, request_adapter, "{+baseurl}") MicrosoftKiotaAbstractions::ApiClientBuilder.register_default_serializer(MicrosoftKiotaSerializationJson::JsonSerializationWriterFactory) MicrosoftKiotaAbstractions::ApiClientBuilder.register_default_deserializer(MicrosoftKiotaSerializationJson::JsonParseNodeFactory) if @request_adapter.get_base_url.nil? || @request_adapter.get_base_url.empty? @request_adapter.set_base_url('https://graph.microsoft.com/v1.0') end @path_parameters['baseurl'] = @request_adapter.get_base_url end ## ## Provides operations to manage the collection of device entities. ## @param device_id Alternate key of device ## @return a devices_with_device_id_request_builder ## def devices_with_device_id(device_id) raise StandardError, 'device_id cannot be null' if device_id.nil? return DevicesWithDeviceIdRequestBuilder.new(@path_parameters, @request_adapter, deviceId) end ## ## Provides operations to manage the collection of directoryRole entities. ## @param role_template_id Alternate key of directoryRole ## @return a directory_roles_with_role_template_id_request_builder ## def directory_roles_with_role_template_id(role_template_id) raise StandardError, 'role_template_id cannot be null' if role_template_id.nil? return DirectoryRolesWithRoleTemplateIdRequestBuilder.new(@path_parameters, @request_adapter, roleTemplateId) end ## ## Provides operations to manage the collection of servicePrincipal entities. ## @param app_id Alternate key of servicePrincipal ## @return a service_principals_with_app_id_request_builder ## def service_principals_with_app_id(app_id) raise StandardError, 'app_id cannot be null' if app_id.nil? return ServicePrincipalsWithAppIdRequestBuilder.new(@path_parameters, @request_adapter, appId) end end end